t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как правильно запускать тесты на Cucumber

Теги: #<Tag:0x00007fd768c394b0> #<Tag:0x00007fd768c392f8> #<Tag:0x00007fd768c39140> #<Tag:0x00007fd768c39028> #<Tag:0x00007fd768c38e98> #<Tag:0x00007fd768c38d08>

Привет всем. Для тестов использую Java + TestNG + Maven.
Подключил Cucumber, и на нём теперь пишу сценарии.
В классе RunCucucmberTests в аннотации @CucumberOptions указал атрибуту tags = “@test”:

теперь у меня запускаются сценарии, помеченные аннотацией @test.

В чём же проблема? --> А в том, что у меня много тестов, ну например около 30. И в каждом, в самом начале стоит аннотация @test, которую я закоментировал, выглядят все тесты так:

изображение

Получается, если я хочу запустить какой-то конкретный тест, или несколько тестов, то я открываю нужные мне тесты, убираю коментарий (решётку) с аннотации @test , и затем в терминале пишу команду:

mvn -U test -Dthreads=1 (нужные мне параметры передаю через -D)

изображение

И в итоге отрабатывает нужный мне тест/тесты.

Это всё очень неудобно. Подскажите нормальный способ? Ну или хотя бы поясните, где искать, и что именно гуглить… ))

Дайте тестам различные тэги - уникальный тег для каждого теста, уникальный тег для пакета тестов, уникальный тег для тестов по функционалу.
https://cucumber.io/docs/cucumber/api/#tags

1 Симпатия

Спасибо, кажется то что надо!
Но у меня такой вопрос:
Они там в документации предлагают так:

Using a JVM system property:

mvn test -Dcucumber.filter.tags="@smoke and @fast"

Когда я запускаю в консоли вот так:

-Dcucumber.filter.tags="@14"

либо

-Dcucumber.filter.tags="@35"

то нормально. Запускается 1 тест, тот который я и указал.
Но когда я написал так:

-Dcucumber.filter.tags="@14 and @35"

то почему то ничего не запустилось (хотя я ожидал 2 теста), итог:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

Можешь подсказать?

ну так это значит, что выхотите запустить тест, у которого тэги и 14, и 35
попробуйте OR написать вместо and

2 Симпатий