未定义的方法"获取"和"让"与Rspec 3 - 铁路4

时间:2014-06-09 08:49:37

标签: ruby-on-rails rspec capybara rspec3

我决定使用新的Rspec 3(+ capybara / factory_girl)开始一个新项目,但我在学习新语法时遇到了麻烦。现在我有

user_pages_spec.rb(功能)

scenario "Signing Up" do

        let(:submit) { "Sign up" }

        scenario "With valid information" do
            background do
                fill_in "Username", with: "bbvoncrumb"
                fill_in "Email", with: "bbvoncrumb@example.com"
                fill_in "Password", with: "foobar123"
                fill_in "Password confirmation", with: "foobar123"
            end

            scenario "should create a user" do
                expect { click_button submit }.to change(User, :count).by(1)
            end
        end
    end

未定义的方法失败'让'。和

static_pages_spec.rb(控制器)

describe StaticPagesController do

  describe "GET 'home'" do
    it "returns http success" do
      get :home
      expect(response).to be_success
    end
  end
end

使用"未定义的方法' get'。 (这只是默认的控制器规范)

1 个答案:

答案 0 :(得分:6)

将现有项目从RSpec 2.x升级到3.0时遇到同样的问题。

通过明确的类型设置为我修复了。

你可以试试这个:

  

描述StaticPagesController,输入:: controller do

编辑:

我现在发现更多的结构原因和解决方案就是这样 在RSpec 3中,我需要添加:

  

config.infer_spec_type_from_file_location!

在spec_helper.rb的配置块中