Rails 测试模拟对象与使用工厂对象的最佳实践是什么?应该嘲笑only当模型可能转到外部源时使用?或者,您是否仅在测试实际模型并使用模拟来处理其他所有内容时才使用工厂。
例如,如果我们有一个包含客户和订单的销售系统,那么当我们测试客户模型时,我们是模拟订单还是只使用工厂订单?它甚至有什么区别吗?
我们经常在我们的网上商店进行这样的辩论,但尚未得出明确的答案。工厂有利于测试与数据库的交互,我们发现了一些用模拟和存根会错过的问题。另一方面,此类问题很少见,并且模拟/存根运行得更快,这鼓励更多的测试。
因此,我们已经发展到在单元测试中使用模拟和存根而不是工厂,并结合放弃两者的集成测试,因此测试与数据库的功能交互,而模拟和存根单元测试则不会。这似乎为我们找到了适当的平衡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)