ruby-on-rails – 工厂/夹具与简单的Model.create(…)?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 工厂/夹具与简单的Model.create(…)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当你可以在测试中使用ActiveRecord来创建数据库条目时,工厂/固定装置的目的是什么(我知道工厂就像固定装置一样,但更清晰一点)?即News.create(…)

我只是没有看到使用Factory Girl的任何优势,而不是简单地使用ActiveRecord方法创建一个新用户新用户..

谢谢

解决方法

拥有工厂并遵循测试数据构建模式将使您在前面做一些工作,但真的会节省您的时间和未来的工作.

假设您有一个汽车模型,并且该汽车拥有一个所有者,并且该所有者需要一个地址.此外,每个人都有其他领域.如果要遵循直接使用模型的方法,则必须在需要它们的每个步骤定义中创建这些对象(以及对应关系).有工厂?您只需定义一次.

一旦您将工厂定义在一个具有相应结构的地方,您所要做的就是要求汽车和工厂将采用其他型号的所有依赖项.那不是很酷吗?最后,您希望专注于测试.

它真的很酷的是你可以覆盖特定的属性,所以你可能有这样的例子,如果你想覆盖属性速度:

Given /^I have a car running^/
 Factory :car,speed => 100
end

从我的谦逊的角度来看,我喜欢Factory Girl,因为它使我的测试代码易于保持并且非常容易阅读.

原文链接:https://www.f2er.com/ruby/270388.html

猜你在找的Ruby相关文章