有人能帮助我让VS2017与.NET核心测试项目一起工作吗?
我尝试从VS 2017模板为.NET核心创建MSTest和xUnit单元测试项目。它们都不能在测试资源管理器(未发现)中工作,但是从项目文件夹中运行dotnet test
工作得很好。
重现步骤:
Unit Test Project (.NET Core)
或xUnit Test Project (.NET Core)
templateRun All
G215
此时,输出窗口应该会告诉您发现了0个测试
.csproj
文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
</Project>
如果我试图从针对.NET框架(完整的,而不是.NET核心)的模板创建一个MSTest单元测试项目,它可以工作。
有什么想法吗?
发布于 2017-03-17 02:50:26
最后,通过更改我的系统PATH
环境解决了这个问题。变量从C:\Program Files\dotnet\
转换为C:\Progra~1\dotnet\
,如Can't get XUnit tests working with Visual Studio 2017 RC中所述
感谢Alexey在评论中提出的建议:)
发布于 2017-03-12 21:22:04
我想我也经历过同样的行为。尝试构建您的解决方案,以便VS可以发现您的测试。否则,请分享您的测试csproj文件,以确保您引用正确的包。我的是:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
</Project>
更新:我已经尝试了很久,看起来VS在没有<OutputType>Exe</OutputType>
的情况下无法找到测试
更新2:尝试将以下内容添加到csproj中,因为我看到VS在某些情况下添加了以下内容。
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
发布于 2017-05-17 20:31:51
我在VS2017没有发现.NET核心上的MSTest单元测试时遇到了这个问题。
测试输出只报告它发现了零个测试。
在命令提示符下运行dotnet test MyProject.csproj -t
时,系统提示我没有安装正确的.NET核心运行时来匹配项目的RuntimeFrameworkVersion。
安装最新的VS 2017更新和.NET核心运行时解决了该问题。
https://stackoverflow.com/questions/42747868
复制相似问题