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

Непонятки с tags в запускальщике Cucumber

bdd
cucumber
java
webdriver
selenium
Теги: #<Tag:0x00007f21d3892730> #<Tag:0x00007f21d38925c8> #<Tag:0x00007f21d3892438> #<Tag:0x00007f21d38922a8> #<Tag:0x00007f21d3892118>

(Алексей Павлов) #1

Добрый день. Использую 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”} ?


(Vasiliy Rakshin) #2

надо tags = {"@campaign or @mailing”},


(Алексей Павлов) #3

Нет, так тесты тоже не запускаются:

None of the features at [src/test/resources/features] matched the filters: [@campaign or @mailing]
0 Scenarios
0 Steps
0m0,000s

и почему or? Если надо оба тега запустить)
Но с tags = {"@campaign and @mailing"} такой же результат, как и выше, т.е. не запускаются.


(Алексей Павлов) #4

Нашёл ответ:

Нужно было запускать как tags = {"@campaign, @mailing"}, а не tags = {"@campaign", “@mailing”}


#5
  1. https://cucumber.io/docs/cucumber/api/#running-a-subset-of-scenarios
  2. https://github.com/cucumber/cucumber/tree/master/tag-expressions