android studio使用junit单元测试及获取代码覆盖率

来源:互联网 发布:mac向移动硬盘拷贝 编辑:程序博客网 时间:2024/05/22 02:00

1.背景

android studio下常用的单元测试类型有Android JunitAndroid Instrumented Tests等,这里说下前者。
Android Junit仅需jvm,运行在本地,无需android设备或者模拟器;在较新的AS版本中创建项目,会自动生成两个测试目录:androidTest和test,一般在test中放junit的测试代码,androidTest下面放Instrumented的测试代码

2.编写junit单元测试

针对需要测试的功能代码,比如这里有一个实现加减乘除的class:

右键go to -> test,创建单元测试

选择junit4,setup和teardown根据自己需求选择,以及需要创建单元测试用例的方法

大概是下面这个样子,具体的写法这里不详述,就是调用功能代码中的方法,然后使用断言判断

然后直接执行测试代码即可

3.单元测试及代码覆盖率

上面已经写好了测试代码,右键RUN **test就ok了,或者在Run/Debug Configurations中配置也可以;执行后生成如下测试结果:

结果还可以导出为各种格式查看


下面主要说下如何获取代码覆盖率,以及配置查看指定module的覆盖率情况


执行完成在as的coverage视图会展示覆盖率结果:

点击左侧导出按钮可以导出结果,不再赘述。

导出结果包含了依赖的class,工程main中的其他class,当然点击对应的package可以查看到目标测试代码的覆盖率情况;这里介绍另外一种配置方法,可以针对目标代码展示覆盖率情况;
Run/Debug Configurations中,配置刚执行的Android Junit任务:

重新执行run test with coverage得到结果

这样就只获取指定模块的代码覆盖率结果了。

阅读全文
1 0