sla*_*nty 5 rspec ruby-on-rails factory-bot
Rails 测试模拟对象与使用工厂对象的最佳实践是什么?仅当模型可能转至外部源时才应使用模拟吗?或者,您是否仅在测试实际模型并使用模拟来处理其他所有内容时才使用工厂。
例如,如果我们有一个包含客户和订单的销售系统,当我们测试客户模型时,我们是模拟订单还是只使用工厂订单?它甚至有什么区别吗?
我们经常在我们的网上商店进行这样的辩论,但尚未得出明确的答案。工厂的好处是可以测试与数据库的交互,我们发现了一些模拟和存根可能会错过的问题。另一方面,此类问题很少见,并且模拟/存根运行得更快,这鼓励更多的测试。
因此,我们已经发展到在单元测试中使用模拟和存根而不是工厂,并结合放弃两者的集成测试,因此测试与数据库的功能交互,而模拟和存根单元测试则不会。这似乎为我们找到了适当的平衡。
| 归档时间: |
|
| 查看次数: |
1147 次 |
| 最近记录: |