Пишу автотесты на Java с использованием WebDriver. Написал несколько тестов и объеденил их всех в один общий тест.
Пишу в Eclipse. В итоге получилось так:
Когда Junit берет очередной тест и начинает выполнять, по итогам работы он либо помечает его как "успешно выполнен", либо "Errors".
Хотелось бы узнать, если ли какой нибудь способ получать значение которое возвращает Junit? Например TRUE - в случае если тест прошел успешно и FALSE - в случае ошибки? Это мне пригодилось бы для итогового отчета, типа:
А что мешает смотреть хml файл с результатами который формируют тесты? или использоватт bamboo или тим сити или еще какой сборщик доя построения красивых отчетов?
Да, я уже воспользовался таким подходом(создал базовый класс для всех тестов, где переопределял tearDown() и setUp()).
В методе tearDown(), перед строкой:
driver.quit();
написал
TestResult result = new TestResult();
if(result.wasSuccessful()) System.out.println("Тест №"+id+" успешно выполнен!");
else System.out.println("Тест №"+id+" завершен с ошибками");
На сколько я понял из статьи http://www.junit.org/apidocs/junit/framework/TestResult.html - wasSuccessful() - должен возвращать результат: прошел ли весь тест с ошибками или нет. Тем не менее при любом раскладе(даже если тест провалился) мне wasSuccessful() возвращает True. Где может быть подводный камень?
<testsuite><testcaseclassname="foo"name="ASuccessfulTest"/><testcaseclassname="foo"name="AnotherSuccessfulTest"/><testcaseclassname="foo"name="AFailingTest"><failuretype="NotEnoughFoo"> details about failure </failure></testcase></testsuite>