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

时间:2011-10-01 08:18:41

标签: ruby-on-rails-3 factory-bot railstutorial.org

这是对问题"Factory Girl - what's the purpose?"

的补充说明

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

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

当我正在阅读Michael Hartl的“Rails 3教程”时,这一切都让我感到困惑,当时他突然跳进了Factory Girl,但在此之前使用了User.create()来构建一个User实例。

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

1 个答案:

答案 0 :(得分:4)

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