什么是imposter设计模式?

3

我从未听说过Ian或这个模式(现在每个人都在为他们怀疑可能是模式的任何东西寻找名称,如果他们厌倦了搜索,就会编造一个名称),但从您链接的页面中的简要描述来看,它听起来很像模拟 - Tony Delroy
@TonyD 是的,这是关于模拟的问题,但我想了解如何实现它的详细信息。我知道你可以使用工厂创建模拟对象,但到目前为止我从未听说过模拟设计模式。 - BЈовић
你可以用很多方法创建模拟对象,这取决于你想要测试的代码是否使用依赖注入(CT或RT)、setter函数、工厂或其他选择对象的方法。不管怎样,似乎我们正在等待Ian或其他人说出“imposter”与mocking有何不同(如果有的话)。 - Tony Delroy
1个回答

7

冒充者也被称为测试替身

当我们编写测试时,如果不能(或选择不)使用真实的依赖组件(DOC),我们可以用一个测试替身来替代它。测试替身不必像真实的DOC一样完全相同;它只需要提供与真实的DOC相同的API,以便SUT认为它是真实的!

实现取决于变化:

Sketch types of test doubles
(来源:xunitpatterns.com)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接