NUnit Console Command Line

https://github.com/nunit/docs/wiki/Console-Command-Line

The console interface runner is invoked by a command in the form

    NUNIT3-CONSOLE [inputfiles] [options]

where inputfiles is one or more assemblies or test projects of a type that NUnit can process and options is zero or more options.

Input files and options may be mixed in any order.

 

--where=EXPRESSION

An expression indicating which tests to run.

It may specify test names, classes, methods, categories or properties comparing them to actual values with the operators ==, !=, =~ and !~.

See Test Selection Language for a full description of the syntax.

 

https://github.com/nunit/docs/wiki/Test-Selection-Language

cat - A category assigned to the test, e.g. SmokeTests

 

Filtering Based on Properties

Although the syntax will accept any property name - including names that don't actually exist - filtering will only work on existing, string-valued properties. The following properties are created by NUnit and have string values:

  • Author
  • Category
  • Description
  • SetCulture
  • SetUICulture
  • TestOf
  • IgnoreUntilDate

In general, these properties were not created with filtering in mind, but you can use them if it suits your needs. Using the Category property currently accomplishes the same thing as the cat keyword. You should be aware that the use of these properties by NUnit is considered an implementation detail and they may change in the future.

 

We envision that most filtering by property will be based on user-defined properties, created for this purpose by inheriting from Property Attribute. When defining a property, you should keep the limitation to string values in mind. For example, a PriorityAttribute taking values of "High", "Medium" and "Low" could be used for filtering, while one that took the integers 1, 2 and 3 could not.

 

https://github.com/nunit/docs/wiki/Property-Attribute

Usage Note

The PropertyAttribute is not currently used for any purpose by NUnit itself, other than to display them in the XML output file and in the Test Properties dialog of the gui. You may also use use properties with the --where option on the command-line in order to select tests to run. See Test Selection Language. Note that his filtering will only work for properties where the values have type string.

复制代码
namespace NUnit.Tests
{
  using System;
  using NUnit.Framework;

  [TestFixture, Property("Location", 723)]
  public class MathTests
  {
    [Test, Property("Severity", "Critical")]
    public void AdditionTest()
    { /* ... */ }
  }
}
复制代码

 

后台所对应的函数

复制代码
    //
        // Summary:
        //     Construct a PropertyAttribute with a name and string value
        //
        // Parameters:
        //   propertyName:
        //     The name of the property
        //
        //   propertyValue:
        //     The property value
        public PropertyAttribute(string propertyName, string propertyValue);
        //
        // Summary:
        //     Construct a PropertyAttribute with a name and int value
        //
        // Parameters:
        //   propertyName:
        //     The name of the property
        //
        //   propertyValue:
        //     The property value
        public PropertyAttribute(string propertyName, int propertyValue);
        //
        // Summary:
        //     Construct a PropertyAttribute with a name and double value
        //
        // Parameters:
        //   propertyName:
        //     The name of the property
        //
        //   propertyValue:
        //     The property value
        public PropertyAttribute(string propertyName, double propertyValue);
复制代码

 

另外还可以继承PropertyAttribute,实现自定义的property attribute

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(435)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示