Как отключить функцию в specflow (Gherkin) без удаления функции?
У меня есть некоторые функции SpecFlow (используя синтаксис Gherkin), и я хотел бы временно отключить эту функцию, чтобы предотвратить ее запуск тестов?
есть ли атрибут, которым я могу отметить эту функцию? Я предполагаю, что что-то, что работает с огурцом, может также работать с SpecFlow.
4 ответа:
вы можете отметить функцию с тегом @ignore:
@ignore @web Scenario: Title should be matched When I perform a simple search on 'Domain' Then the book list should exactly contain book 'Domain Driven Design'
в последней версии Specflow теперь вы также должны указать причину с тегом, например:
@ignore("reason for ignoring")
EDIT: по какой-то причине он ломается с пробелами, но это работает:
@ignore("reason")
Как предлагает jbandi, вы можете использовать тег @ignore.
тег может быть применен для:
- сценарий
- полная функция
учитывая NUnit в качестве поставщика тестов, результатом в сгенерированном коде является вставка
[Нанит.Рамки.IgnoreAttribute ()]
к методу или классу.
Feature: CheckSample @ignored Scenario Outline: check ABC #checkout.feature:2 Given I open the applciation When I enter username as "<username>" And I enter password as "<password>" Then I enter title as "<title>" Examples: | username | password | | dude | daad |
рассмотрим выше как файл функций " CheckSample.особенность"
и ниже ваш шаг файл, это просто частичный файл:
public class Sampletest { @Given("^I open the applciation$") public void i_open_the_applciation() throws Throwable { // Write code here that turns the phrase above into concrete actions //throw new PendingException(); }
Теперь ниже будет бегун файл:
@RunWith(Cucumber.class) @CucumberOptions( plugin = {"pretty", "html:target/reports", "json:target/reports/cucumber-report.json"}, monochrome = true, tags = {"~@ignored"} ) public class junittestOne { public static void main(String[] args) { JUnitCore junit = new JUnitCore(); Result result = junit.run(junittestOne.class); } }
важно отметить, что текст " @ignored "в файле функций упоминается в cucumberoptions (теги) с в файле класса" junittestone". Кроме того, убедитесь, что у вас есть все соответствующие файлы jar для огурцов, корнишонов, Junit и других банок, доступных в вашем проекте, и вы импортируйте их в свои определения шагов (класс).
из-за" игнорируется", сценарий будет пропущен при выполнении тестов.