问题描述
|
我尝试为我的monotouch项目编写单元测试,但没有成功。 Monotouch 4项目不支持NUnit dll。
我尝试了一些在某些网站上发现的怪异解决方法,但似乎无济于事。这些变通办法包括将monotouch dll添加到Nunit项目中。此过程似乎对Monotouch <4的其他用户有效,但对我不起作用(Monotouch> 4)。编译器崩溃。
所以我想知道是否有某种方法可以将单元测试编写到monotouch项目中?
解决方法
确保您的NUnit项目的目标框架版本是.NET 4。
, 好的,您可以做什么(这是一些严重的跳环,当您这样做时,小猫会死在某处……我想念什么吗?如果没有,请Xamarin,让它变得更容易吗?):
创建一个新的MonoTouch iPhone项目。添加简单的代码。
创建一个新的C#NUnit项目。 3.5或4.0,无所谓。添加琐碎的测试。
尝试将项目引用添加到您的NUnit项目。失败。感到沮丧。
生成您的iPhone项目(发布或调试)。
为您的iPhone项目的输出添加引用(哦,天哪,它来了)。是的,将其指向实际生成的iPhone dll。注意MonoDevelop如何允许引用?
运行测试。您将在测试内容上受到很大的限制,但是,只要您不在目标代码中使用MonoTouch类,就可以摆脱它。
如果有时间,我将在GitHub上举一个简单的例子。
尝试使用以下方法:
MonoTouch 4.0.5
单声道2.10.4
MonoDevelop 2.6 Beta 3