Quando scrivo una funzione che utilizza la stessa verbosità come altre caratteristiche, come faccio a essere sicuro i passi giusti sono chiamati per la persistenza?

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

  •  26-09-2019
  •  | 
  •  

Domanda

Le scrivo funzioni con la stessa verbosità per alcuni scenari.

Feature: User Management
Scenario: Edit an existing user's details
Given a user exists

e

Feature: Group Management
Scenario: Add a user to a group's membership
Given a user exists
And a group exists

In SpecFlow c'è un buon modo per definire ciò che passo ogni caratteristica chiamate? Sto andando su questo nel modo sbagliato con la mia scrittura scenario? Devo solo stringere i denti e cambiare le mie dichiarazioni rese per indicare ciò che presentano si applicano a? Sono nuovo di BDD e SpecFlow quindi ogni aiuto è apprezzato.

È stato utile?

Soluzione

Il formato Gherkin (che gli strumenti della cetriolo-famiglia, come usi SpecFlow) non ha alcuna struttura per la condivisione di passaggi tra le caratteristiche (all'interno di una funzione, è possibile utilizzare sfondi ).

Il significato di questo è che le caratteristiche dovrebbero essere auto-descrizione e completa nel proprio. Con utilizzando la sezione Sfondo, si può evitare di avere scenari troppo a lungo, ma continua ad avere tutte le informazioni insieme nel file. È necessario ripetere la procedura condivisa per ogni funzione, però.

In alternativa, è anche possibile creare binding di eventi (che è come "ganci" di cetriolo), dove è possibile implementare una certa logica shard. Ma questa logica condivisa deve essere implementato in .NET poi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top