在任何情况下,有利于手动创建存根类型,而不是在测试点使用模拟框架(例如Rhino Mocks)。
我们在项目中采用这两种方法。当我查看对象存根版本的长列表时,我的直觉是它会增加维护开销,并将存根的实现从测试点移开。
答案 0 :(得分:2)
当你到达存根占用太多维护时间的时候,是时候转向存根/模拟框架了。所以我认为你已经自己给出了答案。
目前,为了简单起见,我仍在使用当前项目的存根。我使用存根只有少数几种类型,通常只有一个存根,有时两个用于重新创建错误,但不能再存在。
答案 1 :(得分:1)
出于自动化单元测试的目的,模拟几乎总是更好的选择。因为它们使用反射来模拟对象,所以当您进行更改时,它们将保持最新状态。
我创建存根的唯一时间是进行集成测试 - 例如,您可能存根短信发送服务,因此您可以运行一段时间的集成/用户测试,而无需收取发送短信的费用(相反,消息是存储,以便检查它们。)