测试MvvmCross.Core项目

时间:2015-01-20 20:38:11

标签: .net xamarin mvvmcross portable-class-library

我有一个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的东西。

1 个答案:

答案 0 :(得分:0)

我认为你设置这个项目是错误的,因为它看起来你注意到你的上一次编辑。该项目应该是安装了nunit和moq的.Net 4.5库。请查看此处的示例,其中包含您要引用的课程的源代码:

https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/tree/master/N-29-TipCalcTest/TipCalcTest.Tests

这个项目应该与你的核心项目加上nunit和moq大致相同。