未定义的方法`访问' - RSpec

时间:2016-07-10 00:56:51

标签: ruby-on-rails rspec

我目前有一项测试,但没有看到能够访问特定路径的测试。这个测试是一个请求规范,这是我的第一个,据我所知,请求规范类似于功能测试,并且可以让用户资本来执行visitfill_in之类的操作。但是现在我无法获得此请求规范甚至访问路径。关于请求规范,我应该知道些什么吗?我会发布我的代码,看看你有没有看到什么奇怪的东西?

SPEC:

  require "spec_helper"

describe "Mailchimp" do
  describe "Manage list" do
    it "adds new subscriber to list" do
      VCR.use_cassette "mailchimp/subscriber" do
        visit new_subscriber_path
        expect {
          fill_in "first_name", with: "John"
          fill_in "last_name", with: "Mayer"
          fill_in "phone_number", with: "61615551233"
          fill_in "email", with: "john@rowster.com"
          click_button "Sign Up"
        }.to change(Subscriber, :count).by(1)
      end
    end
  end
end 

如果您需要查看其他内容,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:2)

请求规范曾与早期版本的RSpec中的功能规格相同,但事情已发生变化。

请求规范旨在让您通过HTTP请求访问完整堆栈并检查short中的详细信息。您可以使用responsegetpostpatch等方法与您的应用进行互动。

示例请求规范:

delete

功能规格由Capybara驱动,允许您通过界面元素点击完整堆栈。如果您想要使用get "/users/#{user.id}" expect(response.body).to include user.full_name

,请点击特定网址

您的问题包含功能规范的示例,因此我不需要在此答案中回应它。我的建议与你的代码有关,就是要改变它,以便它检查界面而不是它如何改变数据库。

(所以我想我毕竟会回复你的代码。:))

visit