当前位置: 首页 > 知识库问答 >
问题:

如何使用自定义注释过滤JUnit5测试

刘元青
2023-03-14

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

共有1个答案

越正阳
2023-03-14

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

  1. @tag(“integration-test”)@integrationtest进行元注释,然后根据构建中的integration-test标记进行筛选。
  2. 实现您自己的executioncondition,根据@integrationtest和您认为合适的任何其他条件(例如,环境变量或JVM系统属性)启用/禁用测试类。作为编写自己的executioncondition的替代方法,您可以使用一个内置的条件执行注释(例如@enabledifsystemproperty@enabledifenvironmentvariable等)对@integrationtest进行元注释(@enabledifenvironmentvariable
 类似资料:
  • 我发现了几个与此相关的(不是重复的)问题,但它们不能让我满意。 我无法理解在哪里以及为什么要使用? 我在一本书中读到了一个自定义注释的示例,但没有详细解释。 myMeth()内的输出与预期一致。 关于这个例子,我有几个问题。 1-如何在此程序中使用和?或

  • 我正在尝试使用Spring安全注释,如@PreAuthorize和@安全,但我希望评估用户不是在一个角色上,而是他们是否拥有对特定实体的权限,在这种情况下是一家公司。在我的控制器中,我收到一个超文本传输协议请求,其中包含一个firmId作为参数,我想确保这个用户被允许进入这家公司。是否可以使用当前的Spring安全注释?。我正在寻找一个优雅的解决方案,我一直在寻找自定义约束验证器作为jsr303规

  • 我定义了自己的JUnit注释: 然后,我能够在测试中使用该注释: null 当我在原型测试方法上方添加时,它将执行,但是: 似乎没有应用我在下定义的注释 IDE建议 (我已经知道意味着,只是不知道为什么IDE能够找到自定义注释,而JUnit不能?)

  • 我在整个代码中有一堆常量,用于系统的各种可调整属性。我正在将它们全部移动到一个中央文件中。我目前的解决方案是有一个静态加载文件并公开各种getter方法,如下所示: 唯一的问题是,对于我从这个文件中获得的每个常量,我都有一些样板: 我不认为我想使用Spring或类似的东西,因为那看起来更像是boilerplae。我希望使用自定义注释来解决这个问题。我找到了这个教程,但是我真的不能弄清楚如何从注释处