在命令行上使用dotnet测试获取测试结果

时间:2016-11-27 16:58:35

标签: asp.net-core xunit xunit.net

我使用以下csproj文件创建了一个ASP.NET Core 1.1 xunit测试项目:

<Project ToolsVersion="15.0">

  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.6</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="**\*.cs" />
    <EmbeddedResource Include="**\*.resx" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk" Version="1.0.0-alpha-20161104-2">
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0- preview-20161123-03" />
    <PackageReference Include="Microsoft.NETCore.App" Version="1.1.0" />
    <PackageReference Include="xunit" Version="2.2.0-beta4-build3444" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\ClassLib\ClassLib.csproj"/>
  </ItemGroup>

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

</Project>

我可以使用命令行使用dotnet test运行项目,但是我没有看到任何测试通过或失败的信息。

我使用的Dotnet命令行的版本是:

.NET Command Line Tools (1.0.0-preview4-004124)

如何显示测试结果?

1 个答案:

答案 0 :(得分:1)

要使dotnet测试工作,您还需要将一个PackageReference包含在xunit.runner.visualstudio中。

顺便说一句,既然您发布了问题,那么csproj的格式已经大大简化了。 xunit测试项目看起来像这样(从Visual Studio 2017 RC,1月和dotnet CLI 1.0.0-rc3-004350开始)。

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
    <TargetFramework>netcoreapp1.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="5.0.0-preview-20170125-04" />
    <PackageReference Include="xunit" Version="2.2.0-beta5-build3474" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0-beta5-build1225" />
</ItemGroup>

<ItemGroup>
    <ProjectReference Include="..\ClassLib\ClassLib.csproj"/>
</ItemGroup>

</Project>