1
在his talk, Ian Cooper(在33:30),提到了冒名顶替者的设计模式。在网上搜索时,我发现它是在Test Driven Development : by example中引入的,但我找不到更多的细节。什么是冒名顶替者的设计模式?
- 假冒者设计模式究竟是什么?
- 如何在C++中实现它?
在his talk, Ian Cooper(在33:30),提到了冒名顶替者的设计模式。在网上搜索时,我发现它是在Test Driven Development : by example中引入的,但我找不到更多的细节。什么是冒名顶替者的设计模式?
冒充者也被称为。
当我们正在编写一个测试中,我们不能(或选择不)使用 真正的依赖项组件(DOC),我们可以用测试替身更换。 Test Double不必像真正的DOC一样行为;它只是 必须提供与真正的DOC相同的API,以便SUT 认为它是 真实的!
实现依赖于变化:
Sketch types of test doubles http://xunitpatterns.com/Types%20Of%20Test%20Doubles.gif
我没有听说过伊恩或模式(每个男人和他的狗摸索任何东西的名称,他们怀疑可能是现在是一种模式,如果他们对搜索感到厌倦的话,就可以创建一个模式),但是从页面中的简短描述中可以看出,它很像[嘲笑](http://en.wikipedia.org/wiki/Mock_object) –
@ TonyD是的,这是关于嘲笑,但我想看看细节如何实施我吨。我知道你可以使用工厂创建模拟对象,但到目前为止,我从来没有听说过冒名顶替者的设计模式。 –
您可以通过很多方式创建模拟对象 - 取决于您要测试的代码是否使用依赖注入(CT或RT),设置函数,工厂或任何其他方法来选择要使用的对象。无论如何,似乎我们正在等待伊恩或其他人说出,“冒名顶替者”与嘲笑有何不同。 –