java – JUnit5 – 如何在AfterTestExecutionCallback中获取测试结果

我写了JUnit5 Extension.但我找不到如何获得测试结果的方法.

扩展看起来像这样:

import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.TestExtensionContext;

public class TestResultExtension implements AfterTestExecutionCallback {
    @Override
    public void afterTestExecution(TestExtensionContext context) throws Exception {
        //How to get test result? SUCCESS/FAILED
    }
}

任何提示如何获得测试结果?

解决方法:

正如其他答案所指出的那样,JUnit communicates failed tests with exceptions,因此可以使用to gleam what happened的AfterTestExecutionCallback.请注意,这很容易出错,因为稍后运行的扩展可能仍然无法通过测试.

另一种方法是register a custom TestExecutionListener.这两种方法都有点迂回.有一个跟踪a specific extension point for reacting to test results的问题,这可能是您问题的最直接的答案.如果您可以提供特定的用例,那么如果您可以转到#542并留下描述它的评论,那就太棒了.

上一篇:BZOJ3638|CodeForces 280D k-Maximum Subsequence Sum


下一篇:java – 没有使用easymock注入模拟