zoukankan      html  css  js  c++  java
  • [翻译]NUnit---RequiredAddin and RequiresMTA Attributes(十六)

    RequiredAddinAttribute (NUnit 2.5)

      RequiredAddin特性用于提示一个程序集需要特殊的插件才能保证功能正常。如果没有安装插件,整个程序集会被标记为未运行。

    Note:Alpha-3版本,这个特性可以运用于类或方法。但这是受限制的,主要有2个原因:

      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
  • 相关阅读:
    一个用于录制用户输入操作并实时回放的小工具
    Ubuntu 14.04 下安装wiznote客户端
    lombok @EqualsAndHashCode 注解的影响
    初始化数据库和导入数据
    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定
    fastjson如何指定字段不序列化
    Mybatis 查询tinyint(1)的数据库字段时会自动转换成boolean类型
    Maven中settings.xml的配置项说明
    logback的使用和logback.xml详解
    解决Eureka Server不踢出已关停的节点的问题
  • 原文地址:https://www.cnblogs.com/kim01/p/3464361.html
Copyright © 2011-2022 走看看