Android中的JUnit和Java中的Junit
<一>JUnit简介
JUnit测试就是单元测试,对于业务逻辑代码进行测试,也就是对于业务逻辑层进行
测试测试目标:方法
1.测试方法的执行是否成功。
2.测试方法的返回值是否成功。(断言测试)
<二>Android中的JUnit测试
在Android开发中,JUnit测试有两种情况:
1. 在本项目中直接测试
2. 专门写一个对应项目的测试项目
我们先从第一种方式说起,即直接在本项目中进行单元测试
在本项目中进行测试大概就是三步:
本类中测试
第一步:
在manifest.xml中导入测试库。
<uses-library android:name="android.test.runner"/>
切记:不要导错位置了,在application中,activity外面。
第二步:
继续在manifest.xml中,我们需要配置测试启动类
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.unittest">
</instrumentation>
导入的位置是application外面。其中targetPackage就是被测试类的包名
第三步:写一个类继承AndroidTestCase类
这里我们需要说明的是一个命名规范的问题。类名最好是用”被测试类+Test”,类名,包名,方法名,我们最好是在被测试类中对应的名字的基础上加一个Test,这样我们就可以一眼就知道这个类与类之间的对应关系。
对于测试方法,必须是public void 类型,并且是无参的。
构建测试项目
构建测试项目,我们需要new一个Android Test Project工程,然后会要求我们选择一个测试项目与之相关联。 当我们创建完项目后,查看它的manifest.xml文件,我们会发现,它极影自动帮我们完成了导入测试库和配置测试类。测试过程两种方式都是一样的。
<三>Java中的JUnit测试
Java中的Unit测试相对于Android中药方便很多。在java中我们需要测试一个方法,只需要导入JUnit 4测试包,然后再测试方式的上面一行添加一句@Test就可以了。
最后简单地说下测试的两种类型:
1.测试方法的执行是否成功
这种方式主要测试的是方式能否执行成功。成功,则是绿色的进度条,否则,红色的进度条。无返回值类型的方法用这种测试方式。
2.测试方法的返回值是否成功
这种方式主要用在有返回值类型的方式上。它不仅要求方法能成功执行,还要能够返回预期的值。
assertEquals(expected, actual);
第一个参数是期望值,第二个参数是实际返回值,若不相等,则测试失败。