【问题标题】:Does factory girl call the model?工厂女孩叫模特吗?
【发布时间】:2015-04-06 16:44:37
【问题描述】:

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

I.E.

User.new(..all the correct params)

Factory.create :user

我的终极问题是:

当测试控制器直接创建模型是否会降低测试的可靠性?

【问题讨论】:

    标签: ruby-on-rails factory-bot


    【解决方案1】:

    没有太大区别。您可以直接创建一个新对象。但是工厂女孩可以处理关联,您通常会在其中放置一些默认数据,这样对您来说更容易。

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

    这就是为什么使用工厂女孩是一种好习惯

    【讨论】:

    • 感谢您的宝贵时间!这是关于添加属性的一个好点。所以工厂女孩是绝对要走的路。
    【解决方案2】:

    通过 Factory Girl 创建一个新对象,使您的代码枯竭,从而使测试更加可靠。例如,如果您稍后决定向 users 表添加一个新属性,那么您只有 1 个位置来更新该属性。如果您要使用 User.new(....),则必须去寻找测试文件中的所有内容以更新更改。

    【讨论】:

    • 感谢您的宝贵时间。是的,干燥因素和代码可重用性因素使它成为可行的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多