目前正在尝试 JUnit 5,如果我的自定义注释存在,则希望在我的自动化框架中实现跳过测试。
如果我试图这样做:
public class KnownIssueExtension implements ExecutionCondition {
@Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
if(context.getRequiredTestMethod().isAnnotationPresent(KnownIssue.class)){
return disabled("HERE DISABLED");
// if(context.getTestMethod().isPresent(element -> findAnnotation(element, KnownIssue.class))){
} else return enabled("enabled");
}
}
我收到这样的例外:
org.junit.jupiter.engine.execution.ConditionEvaluationException: Failed to evaluate condition [org.talend.qa.iam.utils.KnownIssueExtension]: Illegal state: required test method is not present in the current ExtensionContext
但是另一种方法,例如:
context.getTestMethod
如果存在注释,则不进行任何检查。
谁能指出我做错了什么?提前致谢