Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式失败Maven测试JUnit5测试_Java_Maven_Testing_Junit5 - Fatal编程技术网

Java 以编程方式失败Maven测试JUnit5测试

Java 以编程方式失败Maven测试JUnit5测试,java,maven,testing,junit5,Java,Maven,Testing,Junit5,我确实使用JUnit5执行Maven测试,其中所有测试类都具有 @ExtendWith({ProcessExtension.class}) 注释。如果是这种情况,则该扩展必须根据中的特殊逻辑使测试方法失败。但我不知道怎么做 方法 @Override public void afterEach(ExtensionContext context) { ... } 获取此上下文参数,但无法使已执行的测试方法失败。我如何通知Maven方法失败 KI我想你可以用这个方法: import sta

我确实使用JUnit5执行Maven测试,其中所有测试类都具有

@ExtendWith({ProcessExtension.class})
注释。如果是这种情况,则该扩展必须根据中的特殊逻辑使测试方法失败。但我不知道怎么做

方法

@Override
public void afterEach(ExtensionContext context) {
    ...
}
获取此上下文参数,但无法使已执行的测试方法失败。我如何通知Maven方法失败

KI

我想你可以用这个方法:

import static org.junit.jupiter.api.Assertions.fail;


public class ProcessExtension implements AfterEachCallback {

    @Override
    public void afterEach(ExtensionContext context) {
        boolean failTest = ...;

        if (failTest) {
            fail("test failed");
        }
    }
}

这是正确的:只要抛出一个异常,您就可以在afterEach方法中通过测试。