我已经完成了这样的nuget安装:
Install-Package xunit.runner.visualstudio -Version 2.2.0
在我的测试项目上。
我有类似的测试:
public class When_Doing_Stuff_I_Want_To_Test
{
[Fact]
public void Can_Do_Stuff()
{
var result = DoStuff();
result.ShouldNotBeNull();
result.Success.ShouldBeTrue();
}
}
虽然我已经做了很多VS重启,笔记本电脑重新启动,中间休息了一天,VS 2017仍然无法发现我的测试:
我该怎么做才能解决这个问题,看看我的测试?
附录
我在4.6.1下工作,所以还没有Core。
有关同一主题的问题没有帮助:
所以有很多事情要发生,没有任何帮助...
更新
我也无法让NUnit工作,也不会出现在测试资源管理器中。
更新2
我擦掉了我的项目并重新创建了这样的项目:
然后我复制了原始代码并添加了所有必要的引用,没有区别。
答案 0 :(得分:13)
在浏览互联网后,似乎无法将 NETStandard.Library 用于测试项目......
这些是我从以下网站获得信息的链接:
可以做的是让您要测试的项目使用 NETStandard.Library 并让您的测试项目目标 Microsoft.NETCore.App 。然后,您的测试项目可以引用要测试的项目,测试将会运行。
测试项目的.csproj看起来像这样(版本可能会改变):
<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>
要测试的项目是:
<PropertyGroup>
<TargetFramework>netstandard1.4</TargetFramework>
</PropertyGroup>
最近我必须在解决方案上运行 dotnet restore 才能运行测试,所以你可能需要这样做。结果。 NET Core SDK 1.0.1被定位而不是1.0.4(我没有安装x86版本)。
答案 1 :(得分:0)
转到菜单“测试”->“测试设置”->“默认流程体系结构”->根据平台目标进行更改。