2017-06-26 2 views
0

Mein Team hat sich für MSpec für unser BDD-Testframework entschieden, das von ihrer Verwendung bisher sehr gut aussieht - aber ich habe Schwierigkeiten mit der Dokumentation/google für ähnliche Implementierungen zu SpecFlows Scenario Outline. Ich habe unten ein Beispiel gezeigt, aber im Grunde erlaubt es Ihnen, einen "Test" zu schreiben und ihn mehrmals aus einer Tabelle (Beispiel) von Eingängen/erwarteten Ausgaben auszuführen. Es wird mir peinlich sein, wenn sich die Antwort als LMGTFY herausstellt, aber ich konnte selbst nichts finden. Ich möchte dem Team nicht sagen, dass es nicht möglich ist, wenn ich einfach nicht herausgefunden habe, wie man es in MSpec macht (oder MSpec richtig verstanden hat). Ich frage mich, ob dies der Grund ist, warum in manchen Pro/Con für MSpec Verweise auf die Anzahl der Klassen, die Sie am Ende haben können, als Negativ aufgeführt sind.Wie man SpecFlow "Scenario Outline" in MSpec implementiert

Beispiel SpecFlow Szenario Kontur

Scenario Outline: Successfully Convert Seconds to Minutes Table 
    When I navigate to Seconds to Minutes Page 
    And type seconds for <seconds> 
    Then assert that <minutes> minutes are displayed as answer 
Examples: 
| seconds      | minutes | 
| 1 day, 1 hour, 1 second  | 1500  | 
| 5 days, 3 minutes    | 7203  | 
| 4 hours      | 240  | 
| 180 seconds     | 3   | 

Von: https://gist.github.com/angelovstanton/615da65a8f821d7a43c92ef9e2fd0b01#file-energyandpowerconvertcalculator-feature

Antwort

1

Kurze Antwort, ist dieser Strom unterstützt durch nicht von MSpec. Wir haben das vor einigen Jahren geplant, aber der Beitrag hat es nie wieder zum Meister gemacht.

Wenn Sie Szenarienumrisse verwenden möchten, verwenden Sie entweder ein anderes Framework oder erstellen Sie parametrisierte statische Methoden in einer Hilfsklasse und rufen Sie diese aus Ihren Kontextklassen auf. Was Sie mit 1 Klasse pro Szenario verlassen wird.

+0

Dank Alexander, es war mehr ein Fall zu versuchen, zu verstehen, wenn ich einen Trick mit MSpec fehlte. Erwähnen Sie die zweite Methode, die Sie für das Team markieren. –