Есть ли способ узнать, каков результат каждого набора данных в 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);
    }       
}
Другие вопросы по тегам