用命令行执行 .NET 单元测试时,如何仅执行符合某些条件的单元测试
本文介绍使用 dotnet test 命令进行单元测试的时候,过滤出被测项目中的一部分测试出来,仅测试这一部分。 @ TOC 背景 建一个 .NET Core 的单元测试项目,例如项目名字是 Walterlv.Demo.Tests。举例其中的一个测试类如下: using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Walterlv.Demo.Tests { [TestClass] public class FooTest { [TestCategory("CategoryA")] [Priority(1)] [TestMethod] public void TestMethod1() { } [Priority(2)] [TestMethod] public void TestMethod2() { } } } 使用 Visual Studio 的话,直接在测试资源管理器中点击运行全部测试,或者选择想要测试的项点运行所选测试即可。 而使用 GUI 工具的话不利于 CI 集成和自动化测试,所以必然需要用到命令: > dotnet test .\Walterlv.Demo.Tests.dll 有时为了调试方便或输出分类数据等,要求执行一部分单元测试,这就需要过滤了。 dotnet test 的过滤使用 --filter