Есть ли способ узнать, каков результат каждого набора данных в Junit и Selenium?
Я пытаюсь сделать тесты с другой вариацией данных, но с тем же тестовым примером (JUnit, Selenium). Я просто хочу знать, есть ли какой-нибудь способ получить результат каждого набора данных отдельно, как если бы набор данных потерпел неудачу, я хочу знать, какой именно.
2 ответа
Решение
У меня есть несколько тестовых классов, которые запускаются с помощью Paramerized runner - org.junit.runners.Parameterized.Parameters. Это работает очень хорошо. Вот хороший пример: https://github.com/junit-team/junit4/wiki/parameterized-tests.
Вы можете указать часть данных, которые будут включены в имя теста во время выполнения. Удачи!
С помощью ITestResult вы можете получить результат каждого отдельного набора тестов,
Образец кода:
public void testStatus(ITestResult result) throws IOException
{
if (result.getStatus() == ITestResult.FAILURE) {
testResult = "Test Fail :" + result.getName();
System.out.println(testResult);
testResult = "Details of Fail Testcase:" + result.getThrowable();
System.out.println(testResult);
} else if (result.getStatus() == ITestResult.SUCCESS) {
testResult = "Test Pass :" + result.getName();
System.out.println(testResult);
} else if (result.getStatus() == ITestResult.SKIP) {
testResult = "Test Skip :" + result.getName();
System.out.println(testResult);
} else {
testResult = "Test Undefined :" + result.getName() + "<br>Status : " + result.getStatus();
System.out.println(testResult);
testResult = "Details of undefined Testcase:" + result.getThrowable();
System.out.println("Test Undefined :" + result.getName() + "<br>Status : " + result.getStatus());
System.out.println(testResult);
}
}