Ich habe zwei Klassen (Klasse A und B), die beide mit [Binding] gekennzeichnet sind. Derzeit verwende ich eine Klasse pro Merkmal. Die Klassen A und B haben beide einen Schritt, der wie folgt aussieht:
[Given(@"an employee (.*) (.*) is a (.*) at (.*)")]
public void GivenAnEmployeeIsAAt(string firstName, string lastName, string role, string businessUnitName)
Wenn ich das Szenario für die in Klasse A definierten Funktionen ausführe und der Testrunner den oben angegebenen Schritt ausführt, wird stattdessen der entsprechende Schritt in Klasse B ausgeführt.
Sind "Steps" auch global? Ich dachte, nur die "Hook"-Methoden seien global, d. h. BeforeScenario, AfterScenario. Ich möchte dieses Verhalten nicht für "Given", "Then" und "When". Gibt es eine Möglichkeit, dies zu beheben? Ich habe versucht, die beiden Klassen in verschiedene Namespaces zu stellen, aber auch das hat nicht funktioniert.
Auch bin ich potenziell missbrauchen SpecFlow durch wollen jedes "Gegeben" unabhängig sein, wenn ich sie in separaten Klassen setzen?