我使用以下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)
如何显示测试结果?
答案 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>