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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了