我似乎遇到各种各样的问题,试图让NUint与PCL库玩得很好。我的PCL库面向.NET 4.5,Silverlight 4及更高版本,Windows Phone 7.5,Windows Store,Mono for Android和MonoTouch(最后两个与Xamarin)。但是,当我尝试通过NuGet将NUnit添加到项目时,看起来它被添加(nunit.framework被添加到引用中)但是NUnit命名空间不可用。如果我尝试添加using NUnit.Framework
,Visual Studio会对其进行强调,如果我尝试构建,则会在此警告中找不到有关NUnit
命名空间的错误:
Warning 2 The primary reference "nunit.framework" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETPortable,Version=v4.0,Profile=Profile104". To resolve this problem, either remove the reference "nunit.framework" or retarget your application to a framework version which contains "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
NUnit可以与PCL一起使用吗? mvvm cross教程肯定会管理它。
我尝试创建一个单独的测试项目(常规类库),我可以添加NUnit,但是我似乎无法添加对我的PCL库(我要测试的那个)的引用,所以这也无济于事。
有什么想法吗?
答案 0 :(得分:3)
这个论点存在缺陷,但无论如何我都会这样做......
继续在.net 4.5库中编写并运行您的单元测试,并从那里引用您的PCL库。该单元的目标是测试它以测试逻辑。虽然对于不同的PCL目标版本而言,某些事情可能会有所不同。 (方法没有实现等),我怀疑以这种方式测试你的代码将覆盖99%的情况。
此外,如果你想要一个真实的'测试逻辑,您需要让您的单元测试在您要测试的设备上运行......然后是每个版本的操作系统......以及可能不同的设备和不同的CPU等等。你想去吗?
您提到您无法通过常规'添加对您的PCL的引用。测试库...你得到什么样的错误?我一直在使用这种方法来测试我的PCL逻辑,它就像一个魅力,也许它并不完美,但对于1%的情况,设备上的东西不同而且事情都失败了......我有一个例外情报到服务器 : - )