Co się stanie, jeśli użyjemy korniszona w sytuacji typu testu dymu i musimy upewnić się, że coś istnieje w bazie danych przy użyciu tylko interfejsu użytkownika?
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
Ponowne użycie tego samego Then
kroku dwukrotnie jest zasadniczo if-else, że zadba o moje Box istnieje więc, że mogę uruchomić inne moje testy z zestawu testów dymu, które wymagają skrzynki.
Ale to zależy od bycia w stanie powstrzymać wykonanie scenariusz runner testu lub robić coś obcego, takich jak:
ScenarioContext.Current["TestPassed"] = true;
a następnie w każdym z etapów
if(ScenarioContext.Current.Get<bool>("TestPassed")) return;
Nie, w Twojej przykład jesteś opisują dwa scenariusze w jednym. Powinny być rozdzielone. – jmccure