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

问题描述 投票:2回答:2

我在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

我添加了一个包含所有NUnit属性的超级简单测试并运行它。

在Visual Studio for Windows上,使用Resharper测试运行器完成测试。但是在Visual Studio for Mac上,使用内置的运行程序,我收到以下错误:

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

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

xamarin .net-core nunit .net-standard visual-studio-mac
2个回答
1
投票

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

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

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

如果您选择多目标,您的milage可能会在Visual Studio中有所不同。但是,命令行工具应该可以工作,你应该能够使用dotnet test非常容易地运行它,只需将它指向csproj文件进行单元测试。

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.