Factory Girl vs. User.create - 有什么区别?

ada*_*628 7 ruby-on-rails-3 railstutorial.org factory-bot

这是对"工厂女孩 - 目的是什么?"这一问题的补充说明.

我不确定我的问题是否被视为重复的问题,但在阅读该帖后我仍然不是很清楚,因为我认为我的疑问仍然不同.

好了,现在我们总是可以在Rspec测试中使用之前(:每个)块中的User.create(),为什么我们还在使用Factory Girl呢?

当我正在阅读Michael Hartl的"Rails 3教程"时,他突然跳进了Factory Girl,但在此之前使用了User.create()来构建一个User实例.

我希望有人可以为我澄清这一点,很多!

小智 4

您是对的,但是当您需要测试由于唯一性要求而需要不同属性值的大量数据时,像工厂女孩和制造这样的宝石可以显着减少跨类和不同测试中的代码重复。它混合了多种方法,可以轻松地为这些类型的测试“制造”许多不同的对象。

  • 因此,只有当我们需要建造一个大号时,“工厂女孩”的力量才会发挥作用。实例和/或实例将用于不同的测试示例?那么只要我们只需要构建 1 或 2 个实例,使用工厂就没有太大区别,对吗? (2认同)