Так что у меня есть расширение, чтобы пропустить тесты в соответствии с некоторыми условиями.Одним из этих условий должна быть дата, например, целевая дата для исправления, и до этого дня мы пропустим тест:
public class KnownIssueExtension implements ExecutionCondition {
@Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
Date now = new Date();
final Optional<Method> testMethod = context.getTestMethod();
if (testMethod.isPresent()
&& testMethod.get().isAnnotationPresent(KnownIssue.class) && now.before(testMethod.get().getAnnotation(KnownIssue.class).date())) {
return disabled(testMethod.get().getAnnotation(KnownIssue.class).description());
}
return enabled("");
}
Так что я хочу получить текущую дату в виде аннотации как параметр, но я могуНе назначайте значения по умолчанию или что-то вроде этого.
Теперь это выглядит так:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface KnownIssue {
String description()
default "Please set the reason for the expected failure like: @KnownIssue(description = \"TPSVC-12345\")";
Date date()
default "I DONT KNOW WHAT SHOULD BE HERE, I have tried new Date(), but it's not working"
}