0

使用 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 次测试运行
4

0 回答 0