如何将假设应用于 Junit5 中的所有嵌套测试?
How to apply an assumption to all nested tests in Junit5?
我已将 Junit4 套件转换为嵌套的 Junit5 类:
class MadvocSuiteTest {
@Nested
class HelloActionTest extends HelloActionTestBase {}
@Nested
class SimpleTest extends SimpleTestBase {}
...
}
我必须跳过 Java9 的套件(因为 MultiRelease-Jars 在扩展模式下不工作)。
我如何为整个套件做到这一点,即所有嵌套 类,而不是将 assumeTrue
添加到每个测试?
每当您遇到多个 JUnit Jupiter 测试需要的功能时 class,请考虑新的扩展模型。在您的情况下,Conditional Test Execution 扩展点。
以下是迈克·科比特 (Mike Kobit) 可能希望您执行的操作示例。定义您自己的扩展名 DisabledOnJava9
,例如:
@ExtendWith(DisabledOnJava9Condition.class)
public @interface DisabledOnJava9 {}
和他的处理程序一样 DisabledOnJava9Condition.java
。现在您可以在任何您想要的元素上使用您的 DisabledOnJava9
注释。这包括整个测试 class 或任何嵌套的 class.
在这里找到 Mike 的所有类型的来源:https://github.com/mkobit/junit5-conditional-execution-extensions
这是实现此扩展点的另一个示例:https://blog.codefx.org/libraries/junit-5-conditions/
我已将 Junit4 套件转换为嵌套的 Junit5 类:
class MadvocSuiteTest {
@Nested
class HelloActionTest extends HelloActionTestBase {}
@Nested
class SimpleTest extends SimpleTestBase {}
...
}
我必须跳过 Java9 的套件(因为 MultiRelease-Jars 在扩展模式下不工作)。
我如何为整个套件做到这一点,即所有嵌套 类,而不是将 assumeTrue
添加到每个测试?
每当您遇到多个 JUnit Jupiter 测试需要的功能时 class,请考虑新的扩展模型。在您的情况下,Conditional Test Execution 扩展点。
以下是迈克·科比特 (Mike Kobit) 可能希望您执行的操作示例。定义您自己的扩展名 DisabledOnJava9
,例如:
@ExtendWith(DisabledOnJava9Condition.class)
public @interface DisabledOnJava9 {}
和他的处理程序一样 DisabledOnJava9Condition.java
。现在您可以在任何您想要的元素上使用您的 DisabledOnJava9
注释。这包括整个测试 class 或任何嵌套的 class.
在这里找到 Mike 的所有类型的来源:https://github.com/mkobit/junit5-conditional-execution-extensions
这是实现此扩展点的另一个示例:https://blog.codefx.org/libraries/junit-5-conditions/