2011-03-08 5 views
13

Existe-t-il un moyen d'avoir des définitions d'étape de réutilisation de SpecFlow?SpecFlow Définitions d'étapes réutilisables

Dans d'autres outils que je l'ai utilisé une classe de base GivenWhenThen qui contient des méthodes telles que

WhenAnOrderIsCreated - ce INITs un membre de commande protégé à utiliser en héritant des classes.

Juste cant semblent obtenir ce travail avec SpecFlow (ne marche pas semblent aimer l'héritage)

Y at-il un moyen de partager les étapes à travers les éléments?

Un grand merci

+1

Salut Chris .. juste mis en colère ce poste, puis remarqué que c'était vous! Grande question :-) –

Répondre

24

Pourquoi oui, il est possible - vérifier les étapes d'appel de fonction de l'étape (https://github.com/techtalk/SpecFlow/blob/master/Tests/TechTalk.SpecFlow.Specs/Features/CallingStepsFromStepDefinition.feature)

En bref, vous créez une classe de définition de l'étape qui hérite de mesures comme celle-ci:

[Binding] 
public class CallingStepsFromStepDefinitionSteps : Steps 
{} 

Et puis vous pouvez simplement appeler d'autres étapes comme ceci:

[Given(@"I am logged in")] 
public void GivenIAmLoggedIn() 
{ 
    Given("I am on the index page"); 
    When("I enter my unsername nad password"); 
    And("I click the login button"); 
    incStepCount(); 
} 

J'espère avoir compris votre question correctement et que c'était une réponse

+0

Brillante Merci –

+0

le lien donne une erreur 404 btw – Karan

+1

Modifié - merci! –