为什么 dotnet test project.csproj --filter category=unit 在 Azure DevOps 中失败?
Why dotnet test project.csproj --filter category=unit fails in Azure DevOps?
我的解决方案是在 Azure DevOps 中构建的。由于该解决方案具有单元测试和集成测试,因此我需要进行过滤以避免总是编辑构建定义。在我的笔记本电脑上,以下命令运行良好并且只执行我需要的测试。
dotnet test project.csproj --filter Category=Unit
但是,它在 Azure DevOps 中失败并显示以下消息。
[command]/usr/bin/dotnet test --filter Category=Unit {...}/{...}.Tests.csproj --configuration Release
No executable found matching command "dotnet-test --filter Category=Unit"
##[error]Error: /usr/bin/dotnet failed with return code: 1
测试项目有以下 nuget 包:
<ItemGroup>
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="FluentValidation" Version="8.2.3" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.analyzers" Version="0.10.0" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
</ItemGroup>
构建设置:
您不需要 自定义命令,只需将 Command
字段更新为 Test
并将用于过滤的参数标志移动到 Arguments
:
我的解决方案是在 Azure DevOps 中构建的。由于该解决方案具有单元测试和集成测试,因此我需要进行过滤以避免总是编辑构建定义。在我的笔记本电脑上,以下命令运行良好并且只执行我需要的测试。
dotnet test project.csproj --filter Category=Unit
但是,它在 Azure DevOps 中失败并显示以下消息。
[command]/usr/bin/dotnet test --filter Category=Unit {...}/{...}.Tests.csproj --configuration Release
No executable found matching command "dotnet-test --filter Category=Unit"
##[error]Error: /usr/bin/dotnet failed with return code: 1
测试项目有以下 nuget 包:
<ItemGroup>
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="FluentValidation" Version="8.2.3" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.analyzers" Version="0.10.0" />
<PackageReference Include="xunit.runner.console" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
</ItemGroup>
构建设置:
您不需要 自定义命令,只需将 Command
字段更新为 Test
并将用于过滤的参数标志移动到 Arguments
: