Java 如何使用自定义注释筛选JUnit5测试

Java 如何使用自定义注释筛选JUnit5测试,java,gradle,junit5,Java,Gradle,Junit5,我正在寻找一种有效地针对JUnit5集成测试的方法。测试使用gradle运行,所有集成测试类都由自定义类级注释修饰。我可以根据它们的类名模式或使用标记对它们进行分类来过滤它们,但是有没有一种方法可以设置一个针对带有注释的测试的测试套件?您可以找到许多替代方法 例如,您可以使用 @EnabledIfSystemProperty(named = "myProperty", matches = "my") 然后您可以在gradle中为它们使用程序参数或配置文

我正在寻找一种有效地针对JUnit5集成测试的方法。测试使用gradle运行,所有集成测试类都由自定义类级注释修饰。我可以根据它们的类名模式或使用标记对它们进行分类来过滤它们,但是有没有一种方法可以设置一个针对带有注释的测试的测试套件?

您可以找到许多替代方法

例如,您可以使用

@EnabledIfSystemProperty(named = "myProperty", matches = "my")

然后您可以在gradle中为它们使用程序参数或配置文件

假设您的自定义类级注释名为
@IntegrationTest
,您有两个选项

  • 使用
    @IntegrationTest
    @Tag(“集成测试”)
    ,然后在构建中通过
    集成测试
    标记进行过滤
  • 根据
    @IntegrationTest
    的存在以及您认为合适的任何其他标准(例如,环境变量或JVM系统属性),实现您自己的测试类,以启用/禁用测试类。作为编写自己的
    执行条件
    的替代方法,您可以使用其中一个(例如
    @EnabledIfSystemProperty
    @EnabledIfEnvironmentVariable
    等)对
    @IntegrationTest
    进行元注释