2008-09-25 38 views
7

我一直在编写一些提供程序,它们继承自providerbase类。我发现编写使用提供程序的测试很困难,因为大多数模拟框架只允许您模拟一个界面。嘲笑不是接口的类

有什么办法模拟对从providerbase继承的提供者的调用吗?

如果没有,是否有一种模式可以用来实现模拟提供者?

+2

当你说“提供者”我们在谈论ASP.NET提供者吗? – 2008-09-25 07:08:19

回答

6

模拟框架应该能够为您创建基于类的模拟对象,只要它具有虚拟成员即可。

你也可能想看看Typemock

+0

嗯...我一直在使用NMock,它似乎是一个NMock的限制,不是一般的Mocking限制..感谢您的链接 – lomaxx 2008-09-25 07:11:51

6

我知道犀牛制品可以模拟类也一样,大多数其他嘲讽框架应该有这个没有问题无论是。
事情太记住:班级不能密封。你需要标记你想虚拟的方法,并且这个类需要一个没有参数的构造函数,这可以被保护,private不起作用。 (刚刚试过)

请记住,模拟框架只会创建一个继承自类的类并创建该类型的对象。所以构造函数会被调用。这可能会在测试中导致意外的行为。