很久以前就已经学过JUNIT的了,但是一直没用,今天复习了一下。
Junit单元测试,使用时一般分为两种:
一种是项目内测试,另一种是新建一个Junit工程。
第一种情况时,
要在本项目AndroidManifest.xml中作出配置:
<!-- 在本应用中导入需要使用的包,放在application里面activity外面 -->
<uses-library android:name="android.test.runner"/>
<!-- 记住这个一要放在application外面,不然会出现配置错误 信息 -->
意思是,注册测试机。com.example.demo_junit为要测试的包。
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.demo_junit">
</instrumentation>
下面写一个具体的例子:
首先配置AndroidManifest.xml,具体如上
接着新建Service类:
1 public class Service { 2 public int add(int a,int b){ 3 return a+b; 4 } 5 }
然后在建立Junit类时,一定要继承AndroidTestCase:
1 public class Junit extends AndroidTestCase { 2 public void test(){ 3 Service service=new Service(); 4 System.out.println(service.add(2, 5)); 5 } 6 }
好了,现在可以测试了。
将鼠标光标移至Junit类的test()方法上,单击右键,选择Run As/Android JUnit Test即可。
如果出现绿色条纹则表示测试的代码是正确的,红色为错误的:
在Junit中,Assert类的assertEquals()会被经常用到。assertEquals(预期值,实际值)。
详情请参考:http://developer.android.com/intl/zh-cn/reference/junit/framework/Assert.html
由于第一种情况需要注册测试类,如果经常使用的话建议新建一个XML模板,就可以使用快捷键来快速的注册了。
步骤:
- 单击菜单栏上的Window,选择Preferences。
- 然后选择XML,选择XML Files,选择Editor中的Templates。
- 在对话框的右侧点击新建(New...)
- 在弹出的对话框(New Template)中,填入:
然后点击OK,New Template对话框关闭,继续点击OK。此时,新的XML模板就已经建好了。
需要注意的是:1、${package}代表测试类所在的包名。(新建时,需要手动填写)
2、<uses-library android:name="android.test.runner"/>该代码需要移动到清单文件(即AndroidMainfest.xml)的<application>的节点中,否则将不能正常使用。
第二种情况时,首先是新建项目,选择Android Test Project:
然后是选择要测试的项目:
项目新建完成后,此时第一种情况中配置文件的配置已经自动配置完成。其余的和第一种情况完全一样的,接着直接测试即可。
第二种测试的好处是不污染原项目文件,如果是第一种情况的话,因为测试部分与项目实际功能代码无关还需要删除。