Ich bin ein Szenario zu schaffen, um den folgenden ähnliche Kontur (es eine vereinfachte Version ist gibt aber einen guten Hinweis auf meinem Problem):Mehrdimensionale Szenario Outlines in Specflow
Given I have a valid operator such as 'MyOperatorName'
When I provide a valid phone number for the operator
And I provide an '<amount>' that is of the following '<type>'
And I send a request
Then the following validation message will be displayed: 'The Format of Amount is not valid'
And the following Status Code will be received: 'AmountFormatIsInvalid'
Examples:
| type | description | amount |
| Negative | An amount that is negative | -1.0 |
| Zero | An amount that is equal to zero | 0 |
| ......... | .......... | .... |
Die Beispiele Tabelle gibt den Test Daten, die ich brauche, aber ich würde das gleiche Szenario zu wiederholen Umriss dreimal andere Beispiele Tabelle mit nur den Namen der Operatoren (statt MyOperatorName), um die Tests für verschiedene Betreiber
Examples:
| operator |
| op_numb_1 |
| op_numb_2 |
| op_numb_3 |
, um zu replizieren zu vermeiden hinzufügen ; Ich weiß, dass dies nicht möglich ist, aber ich frage mich, was der beste Ansatz ist, um zu vermeiden, dass innerhalb des Features drei verschiedene Szenariokonturen verwendet werden, die abgesehen vom Namen des Operators ziemlich gleich sind. Ich weiß, dass ich die gleichen Schrittdefinitionen wiederverwenden kann, aber ich versuche zu verstehen, ob es eine Best Practice gibt, um zu verhindern, dass das Feature mit zu ähnlichen Szenarien überflutet wird.
Um fair zu sein, ist die 'Wenn ich eine gültige Telefonnummer für den Betreiber bereitstellen 'in Option c überflüssig. - Sie könnten schreiben: "Wenn ich eine Anfrage mit einer gültigen Telefonnummer und dem Betrag" -1.0 "' sende. – perfectionist
Schöne Antwort, ich würde auf jeden Fall @perfectionist Sekunde und drücken Sie die Option d. Nur ein Auswahlbeispiel, um Ihre Tests zu konkretisieren und nicht jede mögliche Kombination ausgiebig zu testen. Wenn Sie umfangreiche Tests benötigen, dann verbinden Sie etwas, das kombinatorische Tests generieren kann (siehe mbUnit) oder nur eine Konsolen-App, die Ihre Specflow-Bindungen wiederverwendet ... – AlSki
Danke @perfectionist, ich schätze Ihre Antwort sehr; es ist definitiv vollständig und erschöpfend. –