我有一个Core和Android项目的解决方案。我希望创建一个Core.Tests项目来测试我的viewmodels。我将其添加为类库(如http://slodge.blogspot.co.uk/2013/06/n29-testing-n1-days-of-mvvmcross.html中所述)。
我安装了以下NuGet包:
App.Core:
"MvvmCross"
App.Core.Tests:
"MvvmCross Test Helpers"
App.Droid:
"MvvmCross"
使用此设置,我在尝试测试我的视图模型时出错:
类型' Cirrious.MvvmCross.ViewModels.MvxViewModel'定义在一个 未引用的程序集。您必须添加对程序集的引用 ' Cirrious.MvvmCross,版本= 1.0.0.0,文化=中立, 公钥= e16445fd9b451819'
我不知道如何解决这个问题(因为Core.Tests项目不是PCL项目,只需将" MvvmCross" nuget包添加到Core.Tests 不工作,而是一个类库项目。尝试添加MvvmCross nuget包会导致它开始引用WPF内容,使构建失败:
项目文件必须包含.NET Framework程序集' WindowsBase, PresentationCore,PresentationFramework'在参考列表中。
不幸的是在n + 29视频中,"我们只是让ReSharper拉入组件" - 但这些是哪些?我不使用ReSharper。我如何正确设置? http://youtu.be/kQdZW9hQoi4?t=14m35s
提前致谢
编辑:我可以将WindowsBase,PresentationCore,PresentationFramework dll添加到测试项目中,但这真的是最理想的解决方案吗?我已经有了特定于平台的测试项目,我想有一个仅用于测试我的核心项目。我不需要WPF的东西。
答案 0 :(得分:0)
我认为你设置这个项目是错误的,因为它看起来你注意到你的上一次编辑。该项目应该是安装了nunit和moq的.Net 4.5库。请查看此处的示例,其中包含您要引用的课程的源代码:
https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/tree/master/N-29-TipCalcTest/TipCalcTest.Tests
这个项目应该与你的核心项目加上nunit和moq大致相同。