8

我正在编写一个脚本来构建和测试存储库中的项目。现在我正在使用 PowerShell 命令Get-ChildItem -Path test -Filter *.csproj -Recurse | ForEach-Object { dotnet test $_.FullName -c $Configuration }来获取我的测试文件夹中的所有 .csproj 文件并在其中运行测试。但是,我注意到当我运行时,例如,dotnet test test/ProjectA/ProjectA.csproj我收到以下消息:

共有 1 个测试文件与指定的模式匹配。

看到这一点,我认为可以使用一种模式通过一个命令在多个项目中运行测试,但我找不到它的文档或让它工作。当我尝试时,dotnet test test/**/*.csproj我得到:

MSBUILD:错误 MSB1009:项目文件不存在。

4

3 回答 3

9

目前好像不支持。目前,最接近的替代方法是将解决方案文件路径传递给dotnet test命令。这样,它将运行添加到解决方案的所有项目的所有测试。

dotnet test foo/bar.sln

于 2020-10-22T06:01:32.887 回答
1

目前不支持这种方式的模式匹配。但是您可以简单地调用dotnet test而无需进一步的参数,它会自动在当前目录中搜索测试项目(请参阅文档)。

于 2020-05-11T12:26:58.040 回答
1

考虑使用dotnet test --filter FullyQualifiedName!~YourTestNameOrPartName

于 2021-12-14T11:27:36.203 回答