Использование нескольких классов с Maven / Hudson и TestNG

Мы используем несколько классов тестирования в одной test папке. Когда я запускаю mvn test, все тесты выполняются, и я вижу результат в оболочке. Но полученный файл testng-results.xml содержит результаты только последнего класса, который был протестирован в нем. Для меня это неплохо, но наш сервер hudson отображает только эти последние результаты и помечает сборку как неудачную только в том случае, если один тест в этом последнем классе завершился неудачно.

Как я могу использовать TestNG с тестами, разделенными на несколько классов, которые будут объединены в results-xml?

[обновление] Только что нашел этот вопрос, но ответа также нет. . [/Обновить]


person Dominik Sandjaja    schedule 23.08.2010    source источник
comment
Сообщает ли вывод консоли, что все тесты запущены?   -  person Peter Schuetze    schedule 23.08.2010
comment
на самом деле это не проблема Хадсона, поскольку Хадсон собирает только результаты-xml   -  person Peter Schuetze    schedule 23.08.2010
comment
Да. Я получаю следующий результат: Выполнено тестов: 17, Ошибки: 0, ... \ n \ n Результаты: \ n \ n Выполнено тестов: 46, ... 17 из класса, который был запущен последним, 46 это общая.   -  person Dominik Sandjaja    schedule 23.08.2010
comment
ОК, принято, но есть идеи, где еще искать?   -  person Dominik Sandjaja    schedule 23.08.2010
comment
К сожалению, нет, я могу отправить его обратно разработчику, чтобы они его исправили. Я хотел бы получить больше информации о том, что именно они делают. Но я предполагаю, что это как-то связано с фреймворком тестирования или конфигурацией maven.   -  person Peter Schuetze    schedule 23.08.2010
comment
Похоже, я нашел виновника: jira.codehaus.org/browse/SUREFIRE-446   -  person Dominik Sandjaja    schedule 24.08.2010


Ответы (2)


Я не совсем уверен, что происходит с Хадсоном, но пробовали ли вы создать файл testng.xml и сказать Surefire, чтобы он использовал этот файл testng.xml вместо того, чтобы просто обнаруживать все файлы Java, соответствующие Test java ?

(просто выстрел в темноте)

Вот как вы это делаете:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <suiteXmlFiles>
        <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
      </suiteXmlFiles>
    </configuration>
  </plugin>
person Cedric Beust    schedule 23.08.2010
comment
Спасибо, я попробую сделать это и попытаюсь заставить отдельные выходные файлы / разные наборы для тестов. - person Dominik Sandjaja; 24.08.2010

выполнять отдельные тестовые классы в отдельных тегах в одном файле testNg и использовать плагин maven-surefire 2.5

person Pushpinder Rattan    schedule 20.10.2010