Comment désactiver une fonctionnalité dans specflow (Gherkin) sans supprimer la fonctionnalité?

J’ai des fonctionnalités SpecFlow (en utilisant la syntaxe Gherkin) et je voudrais désactiver temporairement la fonctionnalité pour empêcher ses tests de s’exécuter?

Y a-t-il un atsortingbut avec lequel je peux marquer la fonction pour le faire? Je suppose que quelque chose qui fonctionne avec Cucumber pourrait aussi fonctionner avec SpecFlow.

Vous pouvez marquer la fonctionnalité avec la balise @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' 

Dans la version récente de Specflow, vous devez également fournir une raison avec la balise, comme ceci:

 @ignore("reason for ignoring") 

EDIT: Pour une raison quelconque, il casse avec des espaces mais cela fonctionne:

 @ignore("reason") 

Comme jbandi le suggère, vous pouvez utiliser la balise @ignore.

Tag peut être appliqué à:

  • un seul scénario
  • une fonctionnalité complète

Étant donné que NUnit est le fournisseur de test, le résultat dans le code généré est l’insertion du

[NUnit.Framework.IgnoreAtsortingbute ()]

à la méthode ou à la classe.

 Feature: CheckSample @ignored Scenario Outline: check ABC #checkout.feature:2 Given I open the applciation When I enter username as "" And I enter password as "" Then I enter title as "" Examples: | username | password | | dude | daad | 

considérez ce qui précède comme un fichier de fonction “CheckSample.feature”

Et ci-dessous est votre fichier d’étape, c’est juste un fichier partiel:

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

Maintenant, ci-dessous sera le fichier du coureur:

 @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(Ssortingng[] args) { JUnitCore junit = new JUnitCore(); Result result = junit.run(junittestOne.class); } } 

Important à noter ici, le texte “@ignored” dans le fichier de fonctionnalité est mentionné dans CucumberOptions (tags) avec le fichier de classe “junittestone”. De plus, assurez-vous d’avoir tous les fichiers jar pertinents pour le concombre, le cornichon, le Junit et les autres fichiers JAR disponibles dans votre projet et que vous les avez importés dans vos définitions d’étape (classe).

En raison de “ignoré”, le scénario sera ignoré lors de l’exécution des tests.