单元测试 – 你如何模拟Sealed类?

Mocking sealed classes可以相当痛苦。我目前赞成 Adapter pattern处理这一点,但有些事情只是保持感觉奇怪。

那么,你模仿密封课程的最好方法是什么?

Java答案是非常欢迎。事实上,我预计Java社区已经处理这个更长时间,并有很多提供。

但这里有一些.NET意见:

> Why Duck Typing Matters for C#
Develoepers

> Creating wrappers
for sealed and other types for
mocking

> Unit tests for WCF (and Moq)

我的一般经验法则是,我需要模拟的对象应该有一个共同的接口。我认为这是正确的设计方法,使测试更容易(和通常是你得到,如果你做TDD)。有关详情,请参阅Google测试博客 latest post(请参阅第9点)。

此外,我在过去4年主要在Java工作,我可以说,我可以指望一次我创建了一个最后(密封)类的次数。另一个规则是,我应该总是有一个很好的理由来封装一个类,而不是认密封。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...