单元测试理念
单元测试的基本原则
宏观上,符合AIR原则
- A: Automatic(自动化)
- 需全自动执行,不需要人工介入检查
- 不允许使用System.out进行人工验证,用断言
- I:Independent(独立性)
- R:Repeatable(可重复)
微观上,符合BCDE原则
- B:Border,边界测试
- C:Correct,正确
- D:Design
- E: Error
单元测试覆盖率
粗粒度覆盖率
细粒度覆盖率
- 行覆盖
- 行覆盖率的计算公式的分子是执行到的语句数,分母是总的可执行语句
- 分支覆盖率
- 条件判定覆盖
- 条件组合覆盖
- 路径覆盖
介绍
- JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
- JUnit Platform 作为在JVM上启动测试框架的基础。
- JUnit Jupiter 是新的编程模型和扩展模型的组合,JUnit 5中类都在此包中
- Unit Vintage 为在平台上运行基于JUnit 3和JUnit 4的测试提供了一个测试引擎。
Maven导入Junit5
<dependencies>
<!--导入Junit5依赖-->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency