Was ist, wenn wir Gherkin in einer Rauch-Test-Situation verwenden und wir sicherstellen müssen, dass etwas in der Datenbank nur mit der Benutzeroberfläche vorhanden ist?
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
Die Weiterverwendung des gleichen Then
Schritt ist zweimal im Wesentlichen eine if-else, dass meine Box machen wird sicher vorhanden, so dass ich meine anderen Tests im Rauch-Test-Suite, die eine Box benötigen laufen kann.
Aber das ist abhängig von der Lage, die Szenario-Ausführung in den Testläufer zu stoppen oder etwas fremd wie tun:
ScenarioContext.Current["TestPassed"] = true;
und dann in jedem des Schrittes
if(ScenarioContext.Current.Get<bool>("TestPassed")) return;
Nein, Sie in Ihrem Beispiel beschreiben zwei Szenarien in einem. Sie sollten getrennt sein. – jmccure