在进行单元测试之前,我通常会单独创建一个Demo来进行功能实现。这两天闲下来,我快速掌握了单元测试的使用方式。下面通过图示来讲解,看完后你就能掌握这个知识点了。
首先,我要强调的是,这篇文章讲的并不高深,扩展也有限。我的目的仅仅是初步且快速地掌握单元测试的使用方式,从而提高自己的开发效率。
关于单元测试,可以参考以下资源:
- Android进阶之路 - 单元测试
- Kotlin进阶指南 - 单元测试
请注意,本文仅适用于Java单元测试。如果需要学习Kotlin单元测试,可以参考Kotlin进阶指南 - 单元测试。
接下来,我们来看如何进行单元测试:
1. 创建项目,识别每个包的作用。
2. 选取对应包名下的类名,点击左侧的Structure(结构)。
3. 查看当前选取测试类的内部方法,这里的aaa()是我自己进行测试的一个方法。
4. 选取对应方法并运行。
5. 运行通过后,可以通过Logcat进行结果查询。
现在,我们来写一个自己的单元测试:
1. 在单元测试包下,创建我们自己的Test类(注意图中的两处注解)。
2. 调用被测试的方法(老方法)。
最后,给大家一些温馨提示:
- 单元测试的选择区间有两种:androidTest和test。
- androidTest包内的单元测试依赖于手机,作用于手机,往往需要侧重于Android方面的单元测试。
- test包内的单元测试主要用于查看某个单独方法的运行结果。
在较早的一篇博文中,有这样的一段话:Build Variants 的选择很重要,如果选择 Unit Tests,Android的测试用例就会被识别,反之Java的测试用例也会被识别,所以在运行测试用例时,务必选择正确的标签。
此外,测试类的存放位置也需要注意:
1. 测试类一定要放在 androidTest 或 test 文件夹下。
2. 编写自己的方法时,需要声明 public 权限。
3. 在 androidTest 下的测试类中,一定要在类名上方加入注解 @RunWith(AndroidJUnit4.class) 或者 @RunWith(JUnit4.class),同时内部方法上加入注解 @Test。
4. 在 test 下的测试类中,无需添加额外的注解,只需在测试方法上加入注解 @Test。
为了确保测试用例能够正确执行,请务必遵循以上规则进行操作。