我找不到像TestWatcher一样替代/工作的任何注释。
我的目标:有两个功能,这取决于测试结果。
这里介绍了TestWatcher API:
使用它如下:
TestWatcher
类(org.junit.jupiter.api.extension.TestWatcher)TestWatcher为您提供以下方法来处理测试中止、失败、成功和禁用:
testAborted(ExtensionContext上下文,可丢弃原因)
testDisabled(ExtensionContext上下文,可选)
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 {
...
我一直在查看JUnit5中参数化测试的示例(我是新手),但没有找到我想要的(除非我误解了如何使用它们)。 我遇到的所有示例都使用了诸如字符串、csv文件或methodSource之类的基本类型,但这些类型似乎都不适合我要做的事情。 如有任何帮助,不胜感激。
有什么理由将多个断言分组:
我有以下简单的类 和以下配置文件 原因:java.lang.ClassNotFoundException:org.springframework.core.annotation.mergedannotations$searchStrategy at java.base/jdk.internal.loader.builtInclassLoader.LoadClass(builtInclassLoad
我正在尝试运行基本的JUnit5程序。使用Eclipse Oxygen.3a(4.7.3a)和OpenJDK9。获取以下错误- POM
问题内容: 是否有理由将多个断言分组: 而不是这样做: 问题答案: 有趣的是,无论有多少失败,它总是检查传递给它的所有断言。如果一切顺利,那么一切都很好- 如果至少有一个失败,您将得到所有错误的详细结果(正确的解决方法)。 最好用于断言概念上属于一起的一组属性。您的第一个直觉将是“我想断言这是一个”。 例 您的特定示例不是最佳用例,因为使用质数和非质数进行检查是彼此独立的-如此之多,因此我建议为此
TestNG有一个很好的特性,可以将注释添加到测试类中(而不是测试方法)。根据文档,当类被注释时,类上所有公共的void返回方法都被视为测试方法。 更新:现在作为一个问题提出。