• [翻译]NUnitCategory and Combinatorial Attributes(九)


    Category特性为suites的测试提供另外一个可替换功能。个别测试用例或者fixtures可能被识别为一个特殊的类别。GUI和控制台程序都允许在运行的测试中包含或者排除指定一系列category。当使用了category是,只有选定等等测试才会执行。未选中的测试则根本不会报告。

    这个功能在控制台中使用/include and /exclude参数,在GUI中使用单独的Categories选项卡来实现。GUI提供了可视化操作用于随时选择Categories。、

    Test Fixture Syntax

    namespace NUnit.Tests
    {
      using System;
      using NUnit.Framework;
    
      [TestFixture]
      [Category("LongRunning")]
      public class LongRunningTests
      {
        // ...
      }
    }
    View Code

    Test Syntax

    namespace NUnit.Tests
    {
      using System;
      using NUnit.Framework;
    
      [TestFixture]
      public class SuccessTests
      {
        [Test]
        [Category("Long")]
        public void VeryLongTest()
        { /* ... */ }
    }
    View Code

    Custom Category Attributes

    从NUnit2.4开始,可以通过继承CategoryAttribute来实现能够被NUnit识别自定义特性。CategoryAttribute默认的protected构造函数设置类名为category名。

    下面的示例创建了一个category测试。就和其他category一样,单有一个简单的语法。一个测试报告系统可能会使用这个特性来提供特殊报告。

    [AttributeUsage(AttributeTargets.Method, AllowMultiple=false)]
    public class CriticalAttribute : CategoryAttribute { }
    
    ...
    
    [Test, Critical]
    public void MyTest()
    { /*...*/ }
    View Code

     

    CombinatorialAttribute (NUnit 2.5)

    在一个测试中,CombinatorialAttribute更具提供的数据参数指定NUnit产生的可能的测试用例。由于是默认的,故这个特性是可选的。

    Example

    The following test will be executed six times, as follows:

    	MyTest(1, "A")
    	MyTest(1, "B")
    	MyTest(2, "A")
    	MyTest(2, "B")
    	MyTest(3, "A")
    	MyTest(3, "B")
    [Test, Combinatorial]
    public void MyTest(
        [Values(1,2,3)] int x,
        [Values("A","B")] string s)
    {
        ...
    }
    View Code

    See also...

    ※如果你觉得这篇文章不错,请点击推荐。如果你觉得我写的对你有用请关注我。
    作者:Max蚊子
    网站:feiger.cn         飞鸽博客,关注互联网、站长圈的程序员博客!
                 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【Lintcode】91 最小调整代价
    【LintCode】29 交叉字符串
    十二、动态规划
    HttpClient的简单使用
    ajax跨域请求
    session共享
    八大排序算法
    MAC 脚本批量启动应用
    知识点整理-bio、nio的简单demo
    知识点整理-数组如何实现随机访问?
  • 原文地址:https://www.cnblogs.com/kim01/p/3097960.html
Copyright © 2020-2023  润新知