我正在编写一个脚本,用于在存储库中构建和测试项目。目前,我正在使用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
时,我得到:
目前似乎不支持它。目前,最接近的替代方案是将解决方案文件路径传递给dotnet test
命令。这样,它将运行添加到解决方案中的所有项目的所有测试。
dotnet test foo/bar.sln
考虑使用dotnet test --filter FullyQualifiedName!~YourTestNameOrPartName
目前不支持这种模式匹配。但是,您可以简单地调用dotnet test
,而不需要进一步的参数,该参数会自动搜索当前目录中的测试项目(请参阅文档(。