【发布时间】:2009-02-17 22:51:32
【问题描述】:
我正在连接到一个简单但特殊的外部服务。
我相信我的单元测试不应该依赖于该外部服务的可用性或实现,所以我打算模拟它。
我需要模拟来接受和返回真实的消息和响应 - 否则我的测试将无法代表真实的事态。例如,它必须抛出正确类型的错误——它至少有 7 种不同的方式会失败(在你我之间,它不是一个设计良好的外部服务)。因此,至少我必须有一个消息/响应对的哈希值。
因此,嘲笑并没有减少偶然性,而是在其他地方重新引入了它。事实上,正如俗话所说,现在我有两个问题:我必须确保我的哈希中的内容是外部服务行为方式的公平表示。但可以肯定的是,响应对象 X 提供给消息 m 的规范来源是 X 本身。其他任何事情都是有风险和混乱的。
我走错了吗?如何消除这种明显的循环?
编辑我已经澄清了我认为的问题是在正义的帮助 cmets 的光。
【问题讨论】: