【问题标题】:Rspec, shoulda and spork does not work togetherRspec、shouda 和 spork 不能一起工作
【发布时间】:2011-04-23 02:16:31
【问题描述】:

当我运行rspec spec/models 时,结果正常。

但是当我使用 spork 时,应该使用宏的每个测试(如 it { should validate_presence_of(:title) } 使用失败,错误如下:undefined method 'validate_presence_of' for ...

我用:

rails (3.0.0)
shoulda (2.11.3)
spork (0.8.4)
rspec-rails (>= 2.0.0.beta.22)

spec/spec_helper.rb:

需要“红宝石” 需要'spork' Spork.prefork 做 # 当你运行 'rails generate rspec:install' 时,这个文件被复制到 spec/ ENV["RAILS_ENV"] ||= '测试' 需要 File.expand_path("../../config/environment", __FILE__) 需要'rspec/rails' 要求“应该” ...

【问题讨论】:

    标签: ruby-on-rails rspec shoulda spork


    【解决方案1】:

    我有同样的问题。通过在 prefork 块中要求 rspec/rails 后粘贴 require 'shoulda/integrations/rspec2' 来修复它。

    您可能还想将您的 spork 升级到最新版本 (gem 'spork', >= 0.9.0.rc2),因为我没有在 0.8.4 上尝试此修复(尽管我很确定它也会起作用)

    【讨论】:

    【解决方案2】:

    尝试移动

    require "shoulda"
    

    进入Spork.each_run 块。显然,应该做一些魔术来将匹配器包含到适当的示例组中。

    【讨论】:

    • 我将 require 'should' 移到了 Sprok.prefork 中,它对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2019-08-17
    • 2016-11-23
    • 2019-02-18
    • 2015-05-16
    • 2017-10-14
    相关资源
    最近更新 更多