问题描述
我刚刚在Visual Studio 2017中创建了一个netstandard库,并添加了对 xunit
和 xunit.runner.visualstudio
的引用,但VS Test Explorer和Resharper 2017 EAP 3无法识别任何测试。我已经看到:
编辑
感谢我的回答
添加
< PackageReference Include = Microsoft .NET.Test.Sdk Version = 15.0.0 />
<!-...和...->
< ItemGroup>
< Service Include = {82a7f48d-3b50-4b1e-b82e-3ada8210c358} />
< / ItemGroup>
没有影响。仅当我将 TargetFramework
更改为 netcoreapp1.1
时,VS才发现测试并可以运行它们。使用 netstandard1.6
时,测试资源管理器保持空白。但是我不想要netcore应用。我想要一个.NET标准库。
我知道这是一个较旧的问题,但是我遇到了同样的问题-编写在Visual Studio测试运行程序和Xamarin.iOS / Droid中运行的xunit测试。对于netstandard,我最终要做的是创建一个.NET Core 2.0的单元测试项目,创建Xamarin。*测试应用程序(并为单元配置它们),并创建一个 Shared Project 而不是netstandard图书馆。
我的测试项目结构为:
- 项目。 Tests.Droid(Droid用户界面项目)
- Project.Tests.iOS(iOS用户界面项目)
- Project.Tests.Unit(VS单元测试项目)
- Project.Tests(共享项目)
我所有的测试都在Project.Tests中
I just created a netstandard library in Visual Studio 2017 and added references to xunit
and xunit.runner.visualstudio
, but the VS Test Explorer and Resharper 2017 EAP 3 are not recognizing any tests. I've seen: Unit testing a .NET Standard 1.6 library but project.json is gone and csproj is back in place.
What do I have to do, to be able to run the unit tests included in a netstandard library?
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>
Test.cs
namespace ClassLibrary2
{
public class Class1
{
[Fact]
public void RescharperShouldRunTest()
{
Assert.True(true);
}
}
}
Edit
Thanks to the answers I made some progress.
Adding
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<!-- ... and ... -->
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
did have no impact. Only if I change the TargetFramework
to netcoreapp1.1
VS discovered the test and could run them. With netstandard1.6
the Test Explorer remains empty. But I don't want a netcore app. I want a .NET standard library.
I know this is an older question, but I have had the same problem - writing xunit tests that run in the Visual Studio test runner and Xamarin.iOS/Droid . For netstandard what I ended up doing was creating a Unit test project that was .NET Core 2.0, creating the Xamarin.* test applications (and configuring them for unit), and creating a Shared project instead of netstandard library. This worked for me.
My test project structure is:
- Project.Tests.Droid (Droid UI project)
- Project.Tests.iOS (iOS UI project)
- Project.Tests.Unit (VS Unit test project)
- Project.Tests (shared project)
All my tests are in Project.Tests.
这篇关于运行.NET Standard 1.6库中包含的xunit测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!