2013-09-19 3 views
10

Я знаю, что вы можете указать теги для функций, а затем игнорировать их при запуске огурца в командной строке. Но я использую cucumber-jvm и запускаю его с maven. @ignore не работает, и я не знаю, как передать теги, которые будут проигнорированы, для бегуна, который выполняет тесты Gherkin.игнорирование функций в огурце-jvm

Обход - это перемещение функции, выполняемой в другой каталог при разработке и тестировании новых, но это не так, как должно быть. Как другие пользователи справляются с этим недостатком?

ответ

7

Вы можете пометить свои сценарии как @ignore, которые будут игнорироваться.

Если вы хотите запускать только выборочные сценарии, то отметьте каждую новую функцию, которую вы хотите протестировать, как @new_test. Поведать Cukes Runner запустить только теги = @new_test

import org.junit.runner.RunWith; 
import cucumber.api.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(features = {"classpath:my_feature.feature"}, 
tags = {"@new_test"}) 
public class RunCukesTest { 

} 

Все, что вы не хотите, чтобы проверить, не должны иметь тег или должен иметь другое имя тега

+0

спасибо за опцию «tags», которая, похоже, работает; Я считаю, что если тест находится в том же пакете, что и функции, которые вы можете оставить вне опции «features», что весьма удобно; если вам нужно будет перечислять каждую функцию здесь, вы также можете обойтись без тега ... –

+0

Это помогло мне конкретно, когда я создаю новые функции и сценарии. Я только хочу запускать новые в начале, и этот ответ делает трюк. – Jeremy

19

Вы можете сказать бегун пропустить @ignore

import org.junit.runner.RunWith; 
import cucumber.api.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(features = {"classpath:my_feature.feature"}, 
tags = {"[email protected]"}) 
public class RunCukesTest { 
} 
+0

Работает как очарование! Я предпочитаю, чтобы '@ Ignore' был совместим с JUnit. –

+2

Это на самом деле правильный ответ. Оператор ~ используется для обозначения тегов, которые нужно пропустить. Принятый ответ работает, но это окольный способ его достижения, поскольку, как правило, количество игнорируемых сценариев меньше. Не нужно указывать все сценарии, которые вы хотите запустить (если это не помогает другими способами). – BakaTono

+0

Я заметил, что без этого явного фильтра тегов (исключить @ignore); @ignore не выполняется по умолчанию; поэтому я просто обновил вики-страницу, где расскажу о теге «@ignore»: https://github.com/cucumber/cucumber/wiki/Tags – boly38

Смежные вопросы