升级到Rspec 3后,符号与模块的比较失败

时间:2014-06-04 17:04:37

标签: ruby-on-rails rspec rspec-rails

我刚从Rspec 2.99升级到Rspec 3,我的部分测试出现以下错误。

Failure/Error: Unable to find matching line from backtrace
ArgumentError:
  comparison of Symbol with Module failed

我有以下控制器测试

require 'spec_helper'

describe PeopleController, type: :controller do
  subject { response }

  describe :index do
    before { get :index }

    it { should_not be_success }
    it { should have_http_status '401' }
  end
end

知道可能导致错误的原因是什么?

1 个答案:

答案 0 :(得分:21)

您不能再使用describe之后的符号了。你需要替换

describe :index do

describe 'index' do

然而,您可以将符号用作标记,例如......

describe 'index', :awesome do
  ...
end

现在,在运行测试时,您只能定位具有特定标记的测试。

$ rspec --tag awesome