Android 单元测试学习

Android 单元测试学习

由于完全没用过android studio做过单元测试,一起学习:

基本说明

我用的是 android studio 2.2.3版本。如下图是新生成的android应用目录结构。
这里写图片描述
main包是主要的代码和资源文件
androidTest包是测试android运行环境的。
test包是测试单元模块的

ExampleUnitTest类

ExampleUnitTest是android项目生成的时候自动产生的类 代码如下:

import org.junit.Test;

import static org.junit.Assert.*;

/**
 * Example local unit test, which will execute on the development machine (host).
 *
 * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
 */
public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(4, 2 + 2);
    }
}

addition_isCorrect 就是单元测试用例。
可以在方法里面右键运行看看。
这里写图片描述
然后再下面的状态栏可以看到结果:
这里写图片描述

结果显示一个测试通过(1 test passed)

如果是失败的话,也会显示出来:
这里写图片描述
会反馈给你预期值(Expected)和实际值(Actual)的差异。

在当前方法里面运行单元测试,是不会影响其他单元测试的,所以如果我们要一次性测试多个单元的话,可以运行整个类的测试。
我在里面增加了一个单元测试方法。记得写@Test注解,否则ide不识别。
选中测试类名(ExampleUnitTest)。

这里写图片描述

运行后可以查看结果
这里写图片描述
右边可以看出2 test done,1 failed,2个测试完成,一个失败。
左边可以看绿色图标的方法是成功的,黄色感叹号的是表示失败的。

实际应用

然后我们再测试一个应用里面的方法实践一下。

这里写图片描述

在应用activity里面添加了一个方法 addTest()。
现在我们的目标是测试这个方法。
选择这个方法,右键如下操作:
这里写图片描述

然后选择 Create New Test

这里写图片描述

填写测试类名,继承名,所属包,增加的方法
勾选了setUp/@Before
@Before 就表示在单元测试之前先执行这个方法。
@After 就表示在单元测试后执行,有些对象需要释放,或者关闭操作。
然后下面选择要测试的成员方法。 ok就行。

然后再在生成的测试类里面填写对应的方法和流程就行了。
这里写图片描述

后面执行测试的步骤就和前面所述一样了。

到此,单元测试基本学习好了。

谢谢查看。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章