我找不到任何像TestWatcher一样替换/工作的注释。
我的目标:有两个功能,做一些事情取决于测试结果。
发布于 2019-02-14 12:17:10
这里介绍了TestWatcher API:
请按以下方式使用:
TestWatcher类(org.junit.jupiter.api.extension.TestWatcher)@ExtendWith(<Your class>.class)添加到测试类中(我亲自使用了在每个测试中扩展的基本测试类) (https://junit.org/junit5/docs/current/user-guide/#extensions)TestWatcher为您提供了以下方法,用于在测试中止、失败、成功和禁用时执行某些操作:
testAborted(ExtensionContext context, Throwable cause)testDisabled(ExtensionContext context, Optional<String> reason)testFailed(ExtensionContext context, Throwable cause)testSuccessful(ExtensionContext context)https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/extension/TestWatcher.html
示例TestWatcher实现:
import java.util.Optional;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestWatcher;
public class MyTestWatcher implements TestWatcher {
@Override
public void testAborted(ExtensionContext extensionContext, Throwable throwable) {
// do something
}
@Override
public void testDisabled(ExtensionContext extensionContext, Optional<String> optional) {
// do something
}
@Override
public void testFailed(ExtensionContext extensionContext, Throwable throwable) {
// do something
}
@Override
public void testSuccessful(ExtensionContext extensionContext) {
// do something
}
}然后你就把这个放在你的测试上:
@ExtendWith(MyTestWatcher.class)
public class TestSomethingSomething {
...https://stackoverflow.com/questions/49037406
复制相似问题