用于测试Mono的隔离框架

本文关键字:隔离 框架 Mono 测试 用于 | 更新日期: 2023-09-27 18:19:37

在阅读了关于Moles的好文章后,我想在我们的单元测试工具集中添加一个隔离框架。

我们的应用程序在Mono下运行,因为它同时部署在Linux和Windows上,我似乎找不到支持Mono的框架。

我看过一些关于使用Cecil操纵部件的文章,但我很难找到任何我们可以实际使用的东西。

用于测试Mono的隔离框架

看起来Moles使用JIT工作,所以我希望它与微软的实现非常紧密地联系在一起。

我在mono上使用Moq取得了巨大的成功,只需付出很小的努力,就可以创建几乎任何类的代理实例,并拦截几乎所有的方法调用。Moq的最新二进制版本对我来说在单声道上运行得很好。

using Moq;
var mock = new Mock<MyClass> { CallBase = true };
mock.Setup( x => x.MyMethod() ).Returns ( 1 );

在使用Moq设置之后,我通常更喜欢使用NUnit,但您可以使用任何其他测试框架。

TypeMock很可能是您在添加对@IanNorton答案的评论时的唯一选择。