0

こんにちは、Nunit で作成するすべてのテストで変数を使用する必要があります

SimpleContainer container = new SimpleContainer();  

だから私はセットアップクラスにこの定義を入れようとします:

[SetUpFixture]
public static class TestSetup
{
    public static SimpleContainer container = new SimpleContainer();    
}

私は書く能力のために静的クラスを使用します:

IMyClass myClassExpected = (IMyClass)TestSetup.container.GetInstance(typeof(IMyClass), null);

しかし、テストを実行した後、「TestSetup は抽象クラスです」というエラーが表示されます。

どこに問題があるのか​​ わかりません

4

3 に答える 3

2

静的インスタンスを気にせず、代わりに継承を使用することをお勧めします。

したがって、オブジェクトを含む基本クラスを作成します。

public class BaseTestFixture
{
    public SimpleContainer Container { get { return new SimpleContainer(); } }
}   

すべてのテストがこれから継承されるようにします。

public class GoogleTests : BaseTestFixture
{
    [Test]
    public void GoToGoogle()
    {
        Container.GetInstance(.....);
    }
}   
于 2013-10-16T08:56:38.757 に答える
0

これを誤解しているかもしれませんが、クラス変数を宣言でき、コンストラクターで任意の割り当てを行うことができます。これは、SetUpFixture クラスではなく、TestFixture クラスにあります。

于 2015-02-13T12:49:55.053 に答える