Skip to content

Junit5设置禁用测试用例

JUnit5 禁用测试用例

什么是禁用用例

  • 给用例添加禁用标识。
  • 被禁用的用例执行后会添加跳过的状态。
  • 可以禁用测试类、也可以禁用测试方法

使用场景

  • 在 bug 未解决之前,对应的测试用例则无需执行。
  • 版本更新,某些用例暂时不可用。

禁用测试类

  • 这里需要注意,禁用测试类Disabled括号中可以添加描述,也可以不添加,即@Disabled("禁用测试类")@Disabled都可以,但使用maven构建和 IDEA 构建时描述无法体现,后续生成测试报告时会用到。禁用测试类需要使用maven构建才生效,使用 IDEA 执行无效
  • 代码示例

    package junit5.disable;
    
    import org.junit.jupiter.api.Disabled;
    import org.junit.jupiter.api.Test;
    //这里需要注意,禁用测试类Disabled()括号中可以添加描述,但使用maven构建和IDEA构建时无法体现
    //禁用测试类需要使用maven构建才生效,使用IDEA执行无效
    @Disabled("Disabled until bug #99 has been fixed")
    class DisableExampleTest {
        @Test
        void testWillBeSkipped() {
            System.out.println("测试用例1");
        }
        @Test
        void testWillBeExecuted() {
            System.out.println("测试用例1");
        }
    }
    
  • 命令行中输入 mvn clean test 在命令行的输入信息中我们可以看到测试时跳过了执行当前测试类

禁用测试方法

禁用方法与禁用测试类同样是使用@Disabled 注解,可以添加描述也可以不添加声明,但是与禁用类不同,禁用方法可以使用 maven 构建,也可以使用 IDEA 构建。使用 maven 构建时依旧无法体现描述内容,使用 IDEA 执行时可以体现描述内容。这里我们采用两种方式执行

  • 代码示例
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
class DisabledTestsDemo {
    //在方法名添加Disabled注解
    @Disabled("Disabled until bug #42 has been resolved")
    @Test
    void testWillBeSkipped() {
    }
    @Test
    void testWillBeExecuted() {
    }
}
  • 使用 IDEA 执行可以体现Disabled注解中添加的描述信息
  • 命令行中输入语句 mvn clean test 无法显示描述信息 但成功跳过禁用测试用例