尽管已将NuGet中的NUnit添加到现有的.Net Core项目中,但测试板中未显示任何单元测试。
注意:我将这些图像发布为链接,因为我的声誉太低而无法发布图像。这是怎么回事?
我尝试重新启动Visual Studio并重新安装程序包。
我还尝试删除Project / obj目录-仍然没有运气。
using NUnit.Framework;
namespace ExampleLib
{
[TestFixture]
public class ExampleTestFixture
{
[Test]
public void ExampleTest()
{
Assert.AreEqual(2, 2);
}
}
}
预期:测试将填充单元测试板 实际:测试垫空。
答案 0 :(得分:1)
NuGet软件包仅允许您使用NUnit框架编写测试。换句话说,这就像添加对NUnit DLL的引用。
您需要安装adapter才能查看测试。
答案 1 :(得分:1)
该项目有多个要求,因此VS for Mac可以识别并执行测试用例。
Microsoft.NET.Test.Sdk
的引用(VSTest基础结构必需)。NUnit
的引用。NUnit3TestAdapter
的引用(VSTest基础结构必需)。示例
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
</ItemGroup>
</Project>
请注意,Windows的VS和Mac(以及JetBrains Rider)的VS都使用VSTest进行单元测试,因此此设置适用于所有此类IDE。
还请注意,如果您不是从dotnet new nunit
创建此控制台项目,而是从普通的控制台应用程序模板创建的,则需要手动删除Main
方法。
答案 2 :(得分:0)
作为lex-li注释,您应该安装适配器(https://www.nuget.org/packages/NUnit3TestAdapter/3.12.0)的 nuget版本。
您最好将此安装到解决方案中,最好用于所有测试项目。
(市场上的适配器是vsix适配器,可以将其安装到VS本身中-但是不建议这种做法,并且如您所指出的,它甚至不适用于Mac Community版本。)