是否不能排除 IntelliJ IDEA Ultimate 中的某些测试?我想在 IntelliJ 中运行单元测试,但排除集成测试。我将集成测试命名为 *IT.java
,以便 Maven 故障安全插件可以从单元测试中单独运行它们。
在 JUnit
Run 配置中,将 Test kind
设置为 Pattern,指定以下正则表达式作为模式:
^(?!.*IT$).*$
它与类名匹配,因此您不需要匹配 .java
扩展名。如果类名使用 negative lookahead 以 IT
结尾,则正则表达式将不匹配。
https://i.stack.imgur.com/emlFU.png
使用 JUnit5,您现在可以标记您的测试,例如:@Tag("integration-test")
。
此外,鉴于 IntelliJ 现在也支持 JUnit5,您可以创建 JUnit 测试配置 并选择 Test Kind:Tags (JUnit5)
。
要排除“集成测试”,您只需指定标签:!integration-test
,IntelliJ 将运行您的所有 JUnit5 测试,除了带有 integration-test
标记的测试。
^(?!(.*SlowTest$|.*SlowSpec$)).*$
省略慢速 Junit 测试和使用.*SlowTest
和.*SlowSpec
约定命名的 Spock 测试.*(?<!IT)$