使用 Visual Studio 2019、.Net 5.0、NUnit
当我使用 VS 开发人员命令提示符从 Visual Studio 运行以下命令时,它可以返回预期的 1 测试:
dotnet test --filter TestCategory~ParkingTests
当我使用 .bat 脚本运行相同的命令时,它会运行解决方案中的所有测试 (3),而不仅仅是应该由过滤器返回的 1,即使它启动时,它也会报告 1 个测试与过滤器匹配。
当我在 Visual Studio 之外使用 cmd.exe 手动运行相同的命令时,会发生同样的事情 - 无论过滤器如何,所有 3 个测试都会运行。
批处理文件的格式:
@echo off
dotnet test --filter TestCategory~ParkingTests
我还注意到过滤器“=”运算符在使用批处理脚本时不起作用,但在使用 Visual Studio 开发人员命令提示符时它确实起作用。
只有 1 个测试有 [Category("ParkingTests)]
摘要:Visual Studio 开发人员命令提示符:
- 过滤器作品包括“=”和“~”
批处理脚本或在 Visual Studio 之外的 cmd.exe 中手动键入命令:
- ~ 操作员接受但过滤器被忽略:运行 3 个测试
- = 不接受操作员:0 次测试运行