Che dire se stiamo utilizzando Gherkin in una situazione di tipo test del fumo e abbiamo bisogno di garantire che qualcosa esista nel database usando solo l'interfaccia utente?
Scenario: I need to create one (and only one) Box before I run the rest of my smoke tests
Given I login as Admin
When I am on the Box list Page
Then the test passes if the Box named "QA SmokeTest" exists
When I click the Add New Box Button
And enter the details for a New Box
And press Save New Box
Then the test passes if the Box named "QA SmokeTest" exists
Il riutilizzo dello stesso Then
passo è due volte essenzialmente un if-else, che farà in modo che la mia sicurezza esista in modo che possa funzionare i miei altri test nella suite di test fumo che richiedono una scatola.
Ma questo dipende da essere in grado di fermare l'esecuzione scenario nel test runner o fare qualcosa di estraneo, come:
ScenarioContext.Current["TestPassed"] = true;
e poi in ciascuna delle fasi
if(ScenarioContext.Current.Get<bool>("TestPassed")) return;
fonte
2017-10-19 16:46:16
No, nel tuo esempio si stanno descrivendo due scenari in uno. Dovrebbero essere separati. – jmccure