Я пытаюсь создать сценарий оболочки, который позволит мне указывать имя класса и имя метода в качестве параметров, и вызывать только один тестовый пример с использованием TestNG.
Я создал сценарий, который позволяет мнезапустить одну группу, которая работает, и она выглядит следующим образом:
JAR=`(cd target && ls -1 test-*-jar-with-dependencies.jar)`
java \
-jar target/$JAR \
-testjar target/$JAR \
-xmlpathinjar testng.xml \
-groups [GROUP-NAME] \
-excludegroups not-implemented,broken,manual
Файл .jar
, указанный выше, был создан с использованием mvn package
с использованием maven-assembly-plugin
с <mainClass>org.testng.TestNG</mainClass>
, и он работает простоотлично подходит для выполнения целой группы тестов.
Я хочу изменить -groups
для запуска одного теста, одного метода в одном классе теста.Глядя на документы , я попробовал следующее:
JAR=`(cd target && ls -1 test-*-jar-with-dependencies.jar)`
java \
-jar target/$JAR \
-testjar target/$JAR \
-xmlpathinjar testng.xml \
-methods [CLASS.METHOD]
Это просто попытка запустить все.Читая между строк, звучит так, как будто есть файл testng.xml
, параметр -methods
можно игнорировать, поэтому я попытался:
JAR=`(cd target && ls -1 test-*-jar-with-dependencies.jar)`
java \
-jar target/$JAR \
-testname "Run Single Test" \
-methods [CLASS.METHOD]
Сначала я подумал, что это сработало.Но вместо того, чтобы запускать один метод тестирования и затем останавливаться, он запускал его снова и снова.Я не позволял ему запускаться, чтобы увидеть, сколько раз он запускался, но я предполагаю, что если бы он был разрешен, он выполнил бы его один раз для каждого тестового примера в базе кода.
Я в настоящее времяработает Java 1.8.0_111, TestNG 6.14.3.Это ошибка в TestNG или я не передаю правильные параметры командной строки?