安卓单元测试,只看这一篇就足够啦.真正的完全解析,真正的从0到1,Junit结合Mockito与Robolectric实现从M到V再到P,Jacoco扫描函数、逻辑、代码行数单元测试覆盖率100%的全面测试.
你是否还在为了验证联网与未联网状态而频繁的开关WiFi开关?或者你是否还在为一个switch判断而频繁的使用debug断点setValue来观测代码的逻辑判断情况?又或者你是否还在为了校验某个UI文案的正确性而反复的比对UI稿?可能你会反问,难道写完代码自测也有错?当然不是,自测是一个良好的习惯,不过作为一名工程师,烟台达内:你要做的不应该只是看看点点的黑盒测试,而是应该设计出一套能够让代码测试代码,一劳永逸的测试工程.
首先我们从Model层开始,通过具体代码来详尽说明一下一个单元测试覆盖率100%的测试工程是如何建立的.严格意义上讲,Model数据层负责数据加载与储存,是游离于安卓环境之外的存在,所以它可以不需要借助安卓SDK的支持.使用Junit结合Mockito即可做到100%条件分支覆盖率的单元测试.
如果项目的Model层有安卓依赖,可能就表明此处的代码需要重构了,这也是单元测试其中的一个意义,让代码逻辑更清晰.清除Model层的安卓依赖的另一层面好处是让测试case更高效,含有android依赖的测试case执行最快也需要5秒,但对于一个没有安卓依赖的Model类,跑完全部case的时间可以降低至毫秒级.
所以,去除Model层所不需要的安卓依赖还是很有必要的.
更多烟台达内相关资讯,请扫描下方二维码