#java #cucumber #cucumber-jvm
#java #cucumber #cucumber-jvm
Вопрос:
Когда я запускаю следующий класс Runner, тест завершается неудачно, говоря, что он не может найти указанные теги. Когда я указываю любой из тегов сам по себе, тест выполняется и проходит.
Почему я могу указывать только один тег за раз?
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {
"pretty", "com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html"
}, glue = {
"cars"
}, features = {
"classpath:feature/",
}, tags = {"@edit-car", "@create-car", "@delete-car"})
public class RunnerTest {}
Ошибка
None of the features at [classpath:feature/] matched the filters: [@edit-car, @create-car, @delete-car]
Ответ №1:
Семантика tags
сбивает с толку. Один из них имеет семантику AND, другой — семантику OR, и я не могу вспомнить, какой именно.
tags = {"@edit-car", "@create-car", "@delete-car"}
tags = {"@edit-car, @create-car, @delete-car"}
Если вы используете последнюю версию Cucumber (> 2.0.0), рассмотрите возможность использования вместо этого одного выражения тега.
tags = "(@cucumber or @gherkin) and not @zukini"