Rails的模型测试 - 惩戒与工厂(Rails Model Testing - Mocking v

2019-07-29 06:37发布

什么是Rails的测试为嘲讽的对象与使用工厂对象的最佳实践。 如果模拟时使用的模型可能会去到外部源? 或者你只有当你正在测试的实际模型,并用嘲讽的一切使用工厂。

例如,如果我们有一个销售系统与客户和订单时,我们测试的客户模型我们嘲笑的顺序还是我们只使用一个工厂订单? 它甚至有所作为?

Answer 1:

我们已经有这种辩论往往在我们的网上商店,并没有得出一个明确的答案。 工厂拥有与数据库测试交互的利益,我们也发现了一些问题,这些问题会被错过了嘲笑和存根的方式。 在另一方面,这样的问题是罕见的,在嘲笑/存根运行相当的快一点,鼓励更多的测试。

因此,我们已经进化倾向于使用嘲弄和存根,而不是工厂在单元测试中,与内放弃两个,所以测试与嘲弄和存根单元测试没有数据库功能的交互集成测试相结合。 这似乎是适当的平衡我们。



文章来源: Rails Model Testing - Mocking vs. Factories