Добрый день. Использую Cucumber. Имею два features-файла, которые начинаются так:
Первый файл:
@alltests @campaign
Feature: work with campaigns
Второй файл:
@alltests @mailing
Feature: work with mailings
В запускальщике Cucumber в tags указываю их теги:
import cucumber.api.CucumberOptions;
import cucumber.api.SnippetType;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/features",
glue = "org.altarix.iszhs",
tags = {"@campaign", "@mailing"},
snippets = SnippetType.CAMELCASE
)
public class cucumberTests {
}
Запускаю, получаю:
None of the features at [src/test/resources/features] matched the filters: [@campaign, @mailing]
0 Scenarios
0 Steps
0m0,000s
Т.е. ничего не выполняется
Но стоит мне добавить ~ к любой из аннотаций (например, “~@campaign” или “~@mailing”, как запускаются тесты не отмеченной ~ аннотации. Т.е. если я сделал так:
tags = {"~@campaign", "@mailing"},
То запустятся тесты из второго feature-файла (помеченные как @mailing)
А если сделаю наоборот:
tags = {"@campaign", "~@mailing"},
То запустятся тесты из первого feature-файла (помеченные аннотацией @campaign)
В чём дело? Почему не работают оба варианта tags = {"@campaign", “@mailing”} ?