How do I disable a feature in specflow (Gherkin) without deleting the feature?

筅森魡賤 提交于 2019-11-30 04:36:07

You can mark the feature with the tag @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'

In the recent version of Specflow, you now also have to provide a reason with the tag, like so:

@ignore("reason for ignoring")

EDIT: For some reason it break with spaces but this works:

@ignore("reason")

As jbandi suggests you can use the @ignore tag.

Tag can be applied to:

  • a single Scenario
  • a full Feature

Given NUnit as the test provider, the result in generated code is the insertion of the

[NUnit.Framework.IgnoreAttribute()]

to the method or the class.

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     |

consider the above as feature file "CheckSample.feature"

And below is your step file, it is just partial file:

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();
}

Now below will be runner file:

@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);
   }

  }

Important to note here, the "@ignored" text in feature file is mentioned in CucumberOptions (tags) with in "junittestone" class file. Also, make sure you have all relevant jar files for both cucumber, gherkin, Junit and other jars available in your project and you have imported them in your step definitions (class).

Because of "ignored", the scenario will be skipped while executing tests.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!