По сути, я хотел бы добавить запись в свой отчет об экстентах для «Пропущенных тестов».Я понимаю, что могу использовать @AfterEach, однако вижу, что кодовый блок @AfterEach не выполняется для теста @Disabled в Junit5.
Я попытался использовать интерфейс TestWatcher и переопределил метод testDisabled, как показано ниже:
package utils;
import java.util.Optional;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestWatcher;
public class MyTestWatcher implements TestWatcher {
public static String testStatus;
public static String testCaseName;
@Override
public void testAborted(ExtensionContext Context, Throwable throwable) {
testStatus = "Aborted";
testCaseName = Context.getDisplayName();
System.out.println("Test Aborted: " + Context.getDisplayName());
}
@Override
public void testDisabled(ExtensionContext Context, Optional<String> optional) {
testStatus = "Skipped";
testCaseName = Context.getDisplayName();
System.out.println("Test Skipped: " + Context.getDisplayName());
}
@Override
public void testFailed(ExtensionContext Context, Throwable throwable) {
testStatus = "Failed";
testCaseName = Context.getDisplayName();
System.out.println("Test Failed: " + Context.getDisplayName());
}
@Override
public void testSuccessful(ExtensionContext Context) {
testStatus = "Passed";
testCaseName = Context.getDisplayName();
System.out.println("Test Passed: " + Context.getDisplayName());
}
}
На основе переменных 'testStatus' и 'testCaseName', которые установлены в методе testDisabled () вышеЯ хотел бы запустить блок кода из моего тестового класса, чтобы добавить запись в мой отчет по экстентам, в которой указано, какой тестовый пример был пропущен.