2

私はクラスライブラリと関連するテストライブラリを持っています。実行するクラスまたはテストの数に関係なく、クラスライブラリには実行の開始時にWindows Azure Storageエミュレータが起動する必要があります。基本テストクラスが表示されますが、これはすべてのクラスに呼び出されます。最初は一度だけ呼び出されるグローバルクラスに近いものが必要です。私は、Visual Studio 2010 Professionalを使用していHow to start Azure Storage Emulator from within a program.Netクラスライブラリ単体テストすべてのテストのセットアップステップは一度だけ呼び出されます

この質問はテストのために、このAzureストレージエミュレーターセットアップに関連しています。クラスライブラリは.NET Framework 4です。

+0

、使用しているユニットテストのライブラリを指定してください。答えはそれに依存します。 (NUnit、XUnit、MSTestなど) – CodingWithSpike

+0

これは付属のライブラリです:Microsoft.VisualStudio.TestTools.UnitTesting – DFBerry

答えて

2

どのユニットテストライブラリ(MSTest、NUnitなど)を使用していますか?これらのメソッドには、すべてのテストの前に、またはすべてのテストの前に、初期化を実行するメソッドがあります。 MSTestを、(すべてのテストの前に一度だけ実行されます)初期化コードで

あなたはNUnitのを使用している場合は、すべてのテストクラスを継承することができますTestFixtureクラスを作成することができ、この

[AssemblyInitialize()] 
public static void AssemblyInit(TestContext context) 
{ 
    // Initalization code goes here 
} 
+0

何も追加せずにVSに含まれているMicrosoft.VisualStudio.TestTools.UnitTestingを含めていますそれがMSTestまたはいくつかの変形であると仮定します。私はベースクラスから継承する3つのクラスを持っているので、4つのファイル。このコードはどこに置くのですか?それは、自分のクラスまたはベースクラスのc'torまたは他のどこかです。 – DFBerry

+0

'AssemblyInitialize()'属性は、アセンブリがロードされたとき、つまり同じアセンブリ内で定義されたすべてのテストクラスの前に実行されるべきコードをマークします。また、ClassInitialize()は、単一のクラス(基本クラスに入れることができる)でテストの前に実行されます。詳細については、[here](http://msdn.microsoft.com/en-us/library/ms243147.aspx)を参照してください。 – shamp00

1

のように見えます。あなたはTestFixtureSetUp属性を持つ設定メソッドを作成TestFixtureの内側に、そのセットアップの内部で使用すると、Azureのストレージ・エミュレータを起動することができます

http://www.nunit.org/index.php?p=fixtureSetup&r=2.2.10

関連する問題