C# 有没有针对Mono的模拟框架???I';我对我能';我好像找不到

C# 有没有针对Mono的模拟框架???I';我对我能';我好像找不到,c#,mono,mocking,C#,Mono,Mocking,我只是在寻找一个明确的答案:是否有任何模拟框架可以与Mono一起工作,比如Moq或Rhinomock???是的,我意识到我可以手动模拟,但我说的是一些有很好的API的东西…比如Moq或Rhinomock。我专门使用MonoTouch,但我很惊讶我甚至还没有找到任何针对straight Mono的模拟框架 据我所知,MonoTouch没有模拟框架的原因之一似乎是因为它们大多数使用Reflection.Emit,这当然不会通过苹果提交AppStore的静态分析 但是,非AppStore应用程序呢?许

我只是在寻找一个明确的答案:是否有任何模拟框架可以与Mono一起工作,比如Moq或Rhinomock???是的,我意识到我可以手动模拟,但我说的是一些有很好的API的东西…比如Moq或Rhinomock。我专门使用MonoTouch,但我很惊讶我甚至还没有找到任何针对straight Mono的模拟框架

据我所知,MonoTouch没有模拟框架的原因之一似乎是因为它们大多数使用Reflection.Emit,这当然不会通过苹果提交AppStore的静态分析

但是,非AppStore应用程序呢?许多企业应用程序分布在AppStore之外,因此不受静态分析的影响。在企业应用程序中使用模拟框架是很常见的

那么,为什么我们看不到MonoTouch应用程序更频繁地使用模拟框架呢?

我发现可以为Mono编译框架。但是你也需要

但是,如果您尝试使用Mono 2.10.x(撰写本文时为2.10.11)构建Castle.Core,您将在PriorityBehaviorExtensions.cs中得到一个关于泛型类型约束的编译错误(CS0314)。这是Mono 2.10.x版本中的一个bug

为了建造Castle.Core,我必须使用Mono 3.0.10进行建造。一旦满足了依赖关系,就可以使用Castle.Core来构建Moq

我还需要做一些测试来确保一切正常。我只是想在出门前把这些都写下来。希望这对别人有帮助

感谢Moq(Daniel Cazzulino)的作者为我指明了正确的方向


编辑:这对我不起作用。我可以很好地构建DLL,但它们的目标框架是错误的。问题是我似乎无法构建针对MonoTouch的Castle.Core库,因为Castle.Core所利用的.NET功能在Mono中根本不可用。因此,如果不能为MonoTouch构建Castle.Core,我也无法为MonoTouch构建Moq甚至Rhinomock。

我发现Mono可以在开箱即用。它不像其他一些模拟框架那样整洁,但它确实有效

看看@firegrass,如果你读过这篇文章,你会发现这个问题是在2010年提出的。它在2011年得到了回答,甚至没有真正回答这个问题。这就是为什么我的问题在这里。谢谢你的帮助。