[バインディング] でマークされた 2 つのクラス (クラス A と B) があります。現在、機能ごとにクラスを使用しています。クラス A と B の両方に、次のようなステップがあります。
[Given(@"an employee (.*) (.*) is a (.*) at (.*)")]
public void GivenAnEmployeeIsAAt(string firstName, string lastName, string role, string businessUnitName)
クラス A で定義された機能のシナリオを実行し、テスト ランナーが上記のステップを実行すると、代わりにクラス B の一致するステップが実行されます。
「ステップ」もグローバルですか?「フック」メソッドのみがグローバルであると思いました。つまり、BeforeScenario、AfterScenario です。「Given」、「Then」、および「When」には、この動作は必要ありません。これを修正する方法はありますか?2 つのクラスを異なる名前空間に配置しようとしましたが、これも機能しませんでした。
また、「Given」を別々のクラスに入れると、各「Given」を独立させたいということで、SpecFlow を誤用する可能性がありますか?