Rails测试模拟对象和使用工厂对象的最佳实践是什么?是否应该只在模型进入外部源时才使用模拟?或者,您只在测试实际模型并对其他一切使用模拟时才使用工厂。
例如,如果我们有一个客户和订单的销售系统,当我们测试客户模型时,我们是在模拟订单还是只使用工厂订单?有什么不同吗?
发布于 2012-05-06 15:50:46
我们经常在我们的网上商店里进行这种辩论,而且还没有得到一个明确的答案。工厂可以测试与数据库的交互,而且我们已经发现了一些问题,这些问题可能会被模拟和存根所忽略。另一方面,这样的问题很少见,而且模拟/存根运行得更快,这鼓励了更多的测试。
因此,我们已经发展到在单元测试中使用模拟和存根,而不是工厂,再加上放弃两者的集成测试,因此测试与数据库的功能交互,而不是模拟和存根单元测试。这似乎对我们来说是正确的平衡。
https://stackoverflow.com/questions/10471760
复制相似问题