[번역] NUnit--- RequiredAddin and RequiresMTA Attributes(16)

4380 단어 attribute
RequiredAddinAttribute (NUnit 2.5)
RequiredAddin 기능은 프로그램 집합에 특별한 플러그인이 있어야 기능이 정상적으로 작동할 수 있음을 알려 줍니다.플러그인이 설치되어 있지 않으면 전체 프로그램 집합이 실행되지 않은 것으로 표시됩니다.
Note: Alpha-3 릴리즈에서는 클래스 또는 메서드에 이 특성을 적용할 수 있습니다.그러나 이것은 제한을 받는 것으로 주로 두 가지 이유가 있다.
1. 플러그인이 누락된 경우 이 방법이나 클래스가 테스트로 인정되지 않으면 NUnit는 플러그인을 처리하지 않습니다.
2. 만약에 이 방법이나 클래스가 다른 플러그인 처리를 한다면 플러그인은 이 특성을 식별할 수 없다
다음 버전에서는 이 기능이 프로그램 집합에 제한될 수 있습니다.
Example
[assembly: RequiredAddin("MyTestFixtureAddin")]

[assembly: RequiredAddin("MyTestAddin")]

[assembly: RequiredAddin("MyDecoratorAddin")]



...



namespace NUnit.Tests

{

  using System;

  using NUnit.Framework;



  [MyTestFixture]

  public class MyTests

  {

    [MyTest]

    public void SomeTest()

    {

      ...

    }

  }

  

  [TestFixture, MyDecorator]

  public class MoreTests

  {

    [Test, MyDecorator]

    public void AnotherTest()

    {

      ...

    }

  }

}

 
RequiresMTAAttribute (NUnit 2.5)
RequiresMTA 기능은 테스트 방법, 클래스, 프로그램 집합을 적용할 수 있으며, 이 테스트가 다중 루틴 환경에서 실행되어야 한다는 것을 지정할 수 있습니다.부모 테스트가 다중 라인에서 실행되지 않으면 새 프로세스를 만들 것입니다.
Note: 테스트 방법에서도 RequiresMTA 기능을 사용할 수 있습니다.실행할 때 실행 프로그램 집합 입구에서만 확인하지만, 많은 사용자들이 테스트에서 작업을 원하기 때문에, 우리는 그것을 동의어로 여긴다.
Examples
// An MTA thread will be created and used to run

// all the tests in the assembly

[assembly:RequiresMTA]



...



// TestFixture requiring a separate thread

[TestFixture, RequiresMTA]

public class FixtureRequiringMTA

{

  // An MTA thread will be created and all

  // tests in the fixture will run on it

  // unless the containing assembly is

  // already running on an MTA Thread

}



[TestFixture]

public class AnotherFixture

{

  [Test, RequiresMTA]

  public void TestRequiringMTA()

  {

    // A separate thread will be created for this test

    // unless the containing fixture is already running 

    // in the MTA.

  }

}

See also...
  • RequiresThreadAttribute
  • RequiresSTAAttribute

  • 좋은 웹페이지 즐겨찾기