厂妹叫模特吗?

Does factory girl call the model?

如果我只需要一个基本模型,直接创建模型与使用工厂女孩创建模型有什么区别吗?

I.E.

User.new(..all the correct params)

Factory.create :user

我的最终问题是:

测试controller时直接创建模型会降低测试的可靠性吗?

没有太大区别。您可以直接创建一个新对象。不过factory girl可以处理关联,你通常会把一些默认数据放在那里,这样对你来说更容易。

重复使用代码也更容易。 否则,无论何时创建用户,都必须设置这些参数。

这就是为什么使用 factory-girl 是一种很好的做法

通过 Factory Girl 创建一个新对象,通过干燥您的代码使测试更加可靠。例如,如果您稍后决定向用户 table 添加一个新属性,您只有 1 个地方可以更新该属性。如果您要使用 User.new(....),您将不得不去寻找测试文件中的所有这些以更新更改。