2 つの類似した UI コンポーネントをテストするために、SpecFlow の手順を再利用しようとしています。現在、私のソリューションには、次のように、共有ステップを含む汎用基本クラスと、残りのすべてのステップを含む 2 つの子クラスがあります。
[Binding]
public class ChildSteps1 : BaseSteps<MyType1>
{
...
[When(@"I do action one")]
public void WhenIDoActionOne()
{
...
}
...
}
public class BaseSteps<T>
where T : ...
{
...
[When(@"I do action two")]
public void WhenIDoActionTwo()
{
...
}
...
}
私が遭遇した問題は、ジェネリック クラスのステップ (この例では「アクション 2」など) が強調表示されていないか、.feature ファイルからナビゲートできないことです (テキストは紫色で、F12 を押しても定義にジャンプできません)。通常、これは "[Binding]" 属性を基本クラスに追加することで修正できますが、私の基本クラスはジェネリックであり、この属性を追加すると実行時例外が発生します。この問題に対する明確な解決策はありますか?