Junit5单元测试

单元测试理念


单元测试的基本原则

宏观上,符合AIR原则

  • A: Automatic(自动化)
    • 需全自动执行,不需要人工介入检查
    • 不允许使用System.out进行人工验证,用断言
  • I:Independent(独立性)
    • 测试用例不允许互相调用
    • 不允许出现执行次序的依赖
  • R:Repeatable(可重复)
    • 每次代码修改后,可以重复利用测试用例

微观上,符合BCDE原则

  • B:Border,边界测试
    • 包括循环边界,特殊取值,特殊时间点,数据顺序
  • C:Correct,正确
    • 正确的输入,得到预期输入
  • D:Design
    • 与设计文档相结合
  • E: Error
    • 进行一下错误输入检测预期的错误结果

单元测试覆盖率


粗粒度覆盖率

  • 类覆盖
  • 方法覆盖

细粒度覆盖率

  • 行覆盖
    • 行覆盖率的计算公式的分子是执行到的语句数,分母是总的可执行语句
  • 分支覆盖率
  • 条件判定覆盖
  • 条件组合覆盖
  • 路径覆盖

Junit5系列


介绍

  • 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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JUnit 5 是 Java 编程语言的单元测试框架,它是 JUnit 团队开发的最新版本。JUnit 5 提供了一套强大的工具和功能,用于编和执行单元测试。下面是 JUnit 5 单元测试的一些重要特性和用法: 1. 注解驱动:JUnit 5 使用注解来标记测试方法和测试类。常用的注解包括 `@Test`、`@BeforeEach`、`@AfterEach` 等。 2. 断言方法:JUnit 5 提供了丰富的断言方法,用于验证测试结果是否符合预期。例如,`assertEquals()`、`assertTrue()`、`assertNotNull()` 等。 3. 参数化测试:JUnit 5 支持参数化测试,可以通过 `@ParameterizedTest` 注解来定义参数化测试方法,并使用 `@ValueSource`、`@CsvSource` 等注解提供测试参数。 4. 嵌套测试:JUnit 5 允许在一个测试类中嵌套其他测试类,以更好地组织和管理测试代码。 5. 扩展模型:JUnit 5 引入了扩展模型,通过实现扩展接口可以自定义测试生命周期、测试报告、参数解析等行为。 6. 并发执行:JUnit 5 支持并发执行测试,可以通过 `@Execution` 注解来配置并发策略。 7. 动态测试:JUnit 5 允许在运行时动态生成测试用例,通过 `DynamicTest` 接口和 `@TestFactory` 注解实现。 8. 条件测试:JUnit 5 提供了条件测试的功能,可以根据条件来决定是否执行某个测试方法。 以上是 JUnit 5 单元测试的一些重要特性和用法。如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值