-
目录
-
什么是单元测试
- 对最小的可测试单元进行测试和验证
-
为什么要进行单元测试
-
单元测试使得我们可以放心修改、重构业务代码,而不用担心修改某处代码后带来的副作用。
单元测试可以帮助我们反思模块划分的合理性,如果一个单元测试写得逻辑非常复杂、或者说一个函数复杂到无法写单测,那就说明模块的抽象有问题。
单元测试使得系统具备更好的可维护性、具备更好的可读性;对于团队的新人来说,阅读系统代码可以从单元测试入手,一点点开始后熟悉系统的逻辑。
-
-
注释(Annotation)
- @Test:测试方法
- expected = XXException.class
- timeout = 100
- @Ignore:被忽略的测试方法
- @Before:每个测试方法之前运行
- @After:每个测试方法之后运行
- @BeforeClass:所有测试之前开始运行
- 类还未初始化之前就需要执行的方法
- 搭建的环境可在此准备
- @AfterClass:所有测试结束之后开始运行
- 关闭环境资源可在此执行
- @Test:测试方法
-
新断言之hamcrest断言
- assertThat
- 使用hamcreat的匹配方法
- a
- allOf(greaterThan(),lessThan())
- anyOf(greaterThan(),lessThan())
- anything()
- is()
- not()
- b
- containsString("sss")
- endWith("sss")
- startWith("sss")
- equalTo()
- equalToIgnoreingCae("sss")
- equalToIgnoreingWhiteSpace("sss")
- a
-
Android Studio 中单元测试生成测试报告
- 选择View-->Tool Windows-->Gradle
- My Application-->app-->Tasks-->verification-->createDebugCoverageRepor
- 运行测试用例
- AndroidStudioProjects\MyApplication\app\build\reports(对应test中寻找.index文件)
-
备注
- 遵守约定
- 类放在test包中
- 类名用Test结尾
- 方法用testXXXX命名
- 遵守约定
相关文章
- 03-05Google单元测试框架gtest之官方sample笔记2--类型参数测试
- 03-05测试平台系列(66) 数据驱动之基础Model
- 03-05如何在Spring中使用junit测试获取jndi环境变量?
- 03-05全链路非功能测试之服务资源监控工具篇
- 03-05深入浅出Blazor webassembly之浏览器WSAM性能测试
- 03-05OpenCASCADE绘制测试线束:OCAF 命令之几何属性命令
- 03-05OpenCASCADE绘制测试线束:图形命令之Axonometric观察器
- 03-05渗透测试之弱点扫描
- 03-05性能测试之Locust(一)
- 03-05API 测试面试必备之 REST 常见问答