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