[翻訳]NUnit---RequiresSTA and RequiresThread Attributes(十七)
4551 ワード
RequiresSTAAttribute (NUnit 2.5)
RequiresSTAプロパティは、テスト方法、クラス、プログラムセットに使用され、テストが単一スレッドで実行されるべきであることを指定します.親テストが単一スレッドで実行されない場合、新しいスレッドが作成されます.
Note:
試験方法においてもSTAThread特性を用いることができる.実行時指揮者は,実行プログラムセットのエントリでこの特性を識別するが,多くのユーザが再テストを望んでいるため,同義語として用いる.
Examples
// An STA thread will be created and used to run
// all the tests in the assembly
[assembly:RequiresSTA]
...
// TestFixture requiring a separate thread
[TestFixture, RequiresSTA]
public class FixtureRequiringSTA
{
// An STA thread will be created and all
// tests in the fixture will run on it
// unless the containing assembly is
// already running on an STA Thread
}
[TestFixture]
public class AnotherFixture
{
[Test, RequiresSTA]
public void TestRequiringSTA()
{
// A separate thread will be created for this test
// unless the containing fixture is already running
// in the STA.
}
}
See also...
RequiresThreadAttribute (NUnit 2.5)
RequiresThreadプロパティは、テストメソッド、クラス、またはプログラムセットが独立したスレッドで実行されるべきであることを示します.コンストラクション関数で必要なスレッドを指定することもできます.
Note:このプロパティはApartmentStateパラメータとよく使用され、新しいスレッドを作成するために使用されます.スレッドを作成するためにApartmentStateが適用されない場合は、RequiresSTAプロパティまたはRequiresMTAプロパティを使用することもできます.
Examples
// A thread will be created and used to run
// all the tests in the assembly
[assembly:RequiresThread]
...
// TestFixture requiring a separate thread
[TestFixture, RequiresThread]
public class FixtureOnThread
{
// A separate thread will be created and all
// tests in the fixture will run on it.
}
[TestFixture]
public class AnotherFixture
{
[Test, RequiresThread]
public void TestRequiringThread()
{
// A separate thread will be created for this test
}
[Test, RequiresThread(ApartmentState.STA)]
public void TestRequiringSTAThread()
{
// A separate STA thread will be created for tnis test.
}
}