Как выполнить один тест из большого набора TestNG с помощью testng.xml?
У меня есть комплект TestNG с большим количеством методов. Я выполняю этот пакет, используя оболочку, построенную поверх бегуна TestNG. Все тесты в пакете завершаются, кроме одного. Что я должен написать в testng.xml для выполнения только одного неудавшегося теста?
Очевидное решение - назначить уникальные имена групп всем методам, а затем указать имя в testng.xml. Это может работать в случае 2-3 методов, но становится все труднее по мере увеличения количества тестов.
Ответы
Ответ 1
Вместо exclude
вы можете использовать include
. Это именно то, что вы хотите. Только этот тест будет выполнен.
<classes>
<class name="test.IndividualMethodsTest">
<methods>
<include name="testMethod" />
</methods>
</class>
</classes>
Ответ 2
Попробуйте следующее:
<classes>
<class name="test.IndividualMethodsTest">
<methods>
<exclude name="testMethod" />
</methods>
</class>
</classes>
Ответ 3
После каждого запуска TestNG создает файл с именем testng-failed.xml, который содержит только те тесты, которые не удались. Просто запустите TestNG в этом файле:
java org.testng.TestNG testng.xml
java org.testng.TestNG testng-failed.xml
(замените org.testng.TestNG своим собственным бегуном, поскольку вы, похоже, используете индивидуальный).
Ответ 4
Существует несколько способов сделать это.
Используете ли вы Eclipse для разработки? Для TestNG есть плагин Eclipse, и я думаю, что это был бы самый простой способ для запуска конкретных тестов. Плагин позволяет запускать набор, группу, класс или метод доступных тестов.
Если нет, я считаю, что вы можете настроить задачу ant для запуска теста (http://testng.org/doc/ant.html) и использовать такие атрибуты, как "classfilesetref", чтобы предоставить список тестов для запуска. Вы можете указать тест в отдельном файле, поэтому вам не нужно обновлять build.xml каждый раз, когда вы запускаете тест.
Для установки testng Plugin. Просто выполните следующие действия:
1-Перейдите в меню "Справка" в Eclipse.
2-Выберите "Установить новое программное обеспечение" ".
3-Add " http://beust.com/eclipse.
Он работает в случае указанной вами ошибки. Я думаю, что у вас нет плагина, установленного в среде Eclippse IDE.
Ответ 5
Вы также можете создать свой собственный ITestListener (так как у вас есть собственная оболочка), который отслеживает сбои и то из этого генерируется ваш собственный файл с ошибками, содержащий только неудавшийся тест. Тестовые прослушиватели/перехватчики TestNG довольно хороши. На работе мы расширили TestNG, используя их несколькими способами:
- захват/воспроизведение сгенерированных наборов данных
- ведение журнала результатов в базе данных
- настраиваемый тестовый выход (журналы)
- метаданные, такие как идентификаторы, описания, для наборов данных, предоставляемых @DataProvider
- проверки времени выполнения зависимых от среды ограничений на тестовые примеры