【问题标题】:Rails fixtures with a ruby script带有 ruby​​ 脚本的 Rails 固定装置
【发布时间】:2012-03-22 23:02:03
【问题描述】:

夹具、工厂等不执行真正的create() 方法。例如,当创建一个用户时,我会为他生成一个 Preference 对象。但是对于固定装置,我必须手动完成。

那么我可以使用像我所有的 `User.create(:name => 'joe') 这样的脚本吗?还是有一个受欢迎的宝石可以做到这一点?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 testing factory-bot machinist


    【解决方案1】:

    Factory Girl 是固定装置的直接替代品,它允许关联可以按原样使用或可以在单元测试中被覆盖。它是纯 ruby​​,因为您可以在运行时微调对象的实例化方式,它比固定装置恕我直言更加灵活。顺便说一句,使用带有模拟框架(例如 Mocha)的 Factory Girl 可以避免数据库命中,因此可以(更快)进行测试。

    【讨论】:

    • 看完莫乔、工厂女孩和机械师。我认为 Mocha 对性能有好处,但我的团队不会理解它是如何工作的。而且机械师的语法比工厂女孩的语法要好得多。我发现我可以在seeds.rb 中做if Rails.env == 'development' ... load fixtures with Machinist,这样我就可以做我想做的事了。
    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多