nunit.framework未找到针对.NET Standard 1.4 xamarin项目运行nunit

时间:2018-02-09 16:17:09

标签: xamarin .net-core nunit .net-standard visual-studio-mac

我在Xamarin解决方案中使用了一个用于PCL的.NET Standard 1.4项目。我正在尝试添加一个单元测试项目。

我遵循了我可以找到的指导方针并执行以下操作:

我添加了一个引用我的.NET Standard项目的.NET Core 2.0项目,并通过NuGet安装了以下内容:

  1. Microsoft.NET.Test.Sdk 15.5.0
  2. NUnit 3.9.0
  3. NUnit3TestAdapter 3.9.0
  4. 我添加了一个包含所有NUnit属性的超级简单测试并运行它。

    在Visual Studio for Windows上,使用Resharper测试运行器完成测试。但是在 Visual Studio for Mac 上,使用内置的跑步者,我得到以下错误

      

    错误:System.IO.FileNotFoundException:无法加载文件或   装配' nunit.framework'或其依赖项之一文件名:   ' nunit.framework'

    没有任何谷歌搜索或小提琴有帮助。任何人都可以提出一些建议吗?

3 个答案:

答案 0 :(得分:1)

您的测试库不能是.NET标准库。它需要是netcoreapp或net full framework。因此,您需要将目标更改为netcoreapp2.0net461之类的内容。或者,您可以将其设为多目标:

<TargetFrameworks>net461;netcoreapp2.0;netstandard2.0</TargetFrameworks>

这是由于VSTest和Visual Studio要求您的测试针对特定平台。仅使用.NET Standard库无法完成此操作。

如果您选择多目标,则您的milage可能会因Visual Studio而异。但是,命令行工具应该可以工作,您应该可以使用dotnet test非常轻松地运行它,只需将其指向单元测试的csproj文件即可。

NUnit文档中也记录了这一点:https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard

如果您更改为Xunit等其他框架,这些限制不会改变。

答案 1 :(得分:0)

这是VS Mac 7.3.4 beta中的一个错误,MS正在修复它。

答案 2 :(得分:0)

尝试手动加载 nunit.framework 程序集并将其引用到测试项目。