Sve*_*übe 6 c# resharper xunit visual-studio-2017 .net-standard
我刚刚在Visual Studio 2017中创建了一个netstandard库,并添加了对xunit和的引用xunit.runner.visualstudio,但VS Test Explorer和Resharper 2017 EAP 3无法识别任何测试.我见过: 单元测试一个.NET Standard 1.6库但是project.json已经不见了,csproj又回来了.
我需要做什么才能运行netstandard库中包含的单元测试?
Library.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
test.cs中
namespace ClassLibrary2
{
public class Class1
{
[Fact]
public void RescharperShouldRunTest()
{
Assert.True(true);
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
感谢答案,我取得了一些进展.
添加
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<!-- ... and ... -->
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
确实没有影响.只有当我更改TargetFramework为netcoreapp1.1VS才发现测试并且可以运行它们.随着netstandard1.6测试浏览器仍然是空的.但我不想要一个netcore应用程序.我想要一个.NET标准库.
小智 1
如果您运行 dotnet new xunit,您将看到包含的附加参考。
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
Run Code Online (Sandbox Code Playgroud)
我在当前的 IDE 工具中发现了相同的结果。但是,您可以使用命令行在命令行上运行测试
dotnet test -l "trx"
Run Code Online (Sandbox Code Playgroud)
我试图以 netstandard1.5;net452 为目标,但仅运行 net452 测试,而不运行 netstandard1.5 测试。
| 归档时间: |
|
| 查看次数: |
1919 次 |
| 最近记录: |