为什么在Azure DevOps中dotnet测试project.csproj --filter category = unit失败?

时间:2019-04-16 06:05:40

标签: azure-devops xunit xunit.net

我有在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>

构建设置: enter image description here

1 个答案:

答案 0 :(得分:1)

您不需要自定义命令,只需将Command字段更新为Test,然后将要过滤的参数标记移至Arguments

enter image description here