3

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]" 属性を基本クラスに追加することで修正できますが、私の基本クラスはジェネリックであり、この属性を追加すると実行時例外が発生します。この問題に対する明確な解決策はありますか?

4

1 に答える 1