Comment puis-je désactiver une fonction dans specflow (Gherkin) sans supprimer la fonction?

StackOverflow https://stackoverflow.com/questions/2966519

  •  24-10-2019
  •  | 
  •  

Question

J'ai quelques SpecFlow fonctionnalités (en utilisant la syntaxe Gherkin) et je voudrais désactiver temporairement la fonction pour éviter que ses tests de fonctionnement?

Y at-il un attribut que je peux marquer la fonctionnalité avec le faire? Je devine que quelque chose qui fonctionne avec concombre pourrait aussi travailler avec SpecFlow.

Était-ce utile?

La solution

Vous pouvez marquer la fonction 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'

Autres conseils

Dans la version récente de Specflow, vous avez maintenant de fournir une raison avec l'étiquette, comme suit:

@ignore("reason for ignoring")

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

@ignore("reason")

jbandi suggère que vous pouvez utiliser la balise @ignore.

peut être appliquée à:

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

Etant donné NUnit que le fournisseur de test, le résultat dans le code généré est l'insertion de la

[NUnit.Framework.IgnoreAttribute ()]

à 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 "<username>"
And I enter password as "<password>"
Then I enter title as "<title>"
Examples:
| username | password |
| dude     | daad     |

considérer ci-dessus en tant que fichier fonction "CheckSample.feature"

Et ci-dessous est votre fichier étape, il est tout simplement le 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();
}

ci-dessous sera fichier runner:

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

  }

Il est important de noter ici, le texte « @ignored » dans le fichier de fonction est mentionné dans CucumberOptions (tags) avec dans le fichier de classe « junittestone ». Aussi, assurez-vous que vous avez tous les fichiers jar pertinents pour les deux concombre, cornichon, Junit et autres pots disponibles dans votre projet et vous les avez importés dans vos définitions étape (classe).

En raison de « ignoré », le scénario sera ignoré lors de l'exécution des tests.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top