配置和运行单元测试

配置和运行本地单元测试

本地单元测试

本地单元测试用来执行那些对Android没有依赖或Android依赖容易mock的单元测试.

本地单元测试运行在自己电脑上,测试用例在本地虚拟机上编译运行,执行速度快.

本地单元测试写在app\/src\/test\/java目录下.

本地单元测试使用JUnit或TestNG测试框架.

使用的演示代码

这里使用Google官方开源的示例进行演示,地址:https:\/\/github.com\/googlesamples\/android-testing\/tree\/master\/unit\/BasicSample

使用的测试框架

我们用JUnit测试框架举例.

使用IDE运行本地单元测试

打开BasicSample项目,在EmailValidatorTest编辑界面或项目窗口中的类名上右击 —> Run ‘EmailValidatorTest’

这样EmailValidatorTest这个测试类里面的所有测试用例都会被执行.

如果只想执行某一个测试用例,在测试用例名上右击,选择‘Run 用例名’来执行.

如果想某个目录下所有的用例都被执行,在目录名上右击,选择‘Run Test in 目录名’来执行.

保存临时配置

通过上面的方法运行完测试之后,在工具栏的运行配置列表中显示了刚才运行的测试类. 这个配置是自动生成的,如果需要保存,点击 [Save ‘测试类名’ Configuration].

配置本地单元测试

如果我们需要自定义本地单元测试配置,可以这样做.

操作步骤:

打开Run\/Debug Configurations对话框 —> 点击左上角的+号 —> JUnit

然后新增一个JUnit配置窗口:

1.Name: 输入配置名

2.Use classpath of module: 选择测试模块,下拉列表中会列出项目所有的模块,选择我们需要测试的.

3.Test kind: 选择一种测试范围,本例中选择的是Class

4.测试用例配置: Class: 选择测试类

测试用例配置项跟我们选择的测试范围是相关联的.

如果Test kind选择Class,显示测试类的配置项.

如果Test kind选择Method,显示测试类和方法的配置项.

其它Test kind与此类似,这里就不一一列举了.

5.Fork mode: 用来指定是为每个测试用例都创建一个进程,还是所有测试用例在一个进程中执行.

两个选项:

none: 在一个进程中执行所有测试[图片]执行结果: 耗时8ms

method:每个测试用例都会创建一个测试进程,这种方式会比较慢.[图片]执行效果: 耗时19ms

6.Repeat:

Once:所有用例只执行一次[图片]N Times: 自定义用例执行次数,比如:设置5次,每一条用例都会被执行5次.[图片]Until Failure: 不断重复执行,直到用例失败.[图片]Until Stopped: 不断重复执行,直到手动停止.

7.VM options: 默认值为-ea,用来设置jvm是否启动断言机制.

8.JER环境,使用默认的就好了.