[英]undefined method `visit' - RSpec
我目前正在进行一项测试,认为该测试无法访问特定的路径。 据我所知,此测试是一个请求规范,这是我的第一个规范,据我所知,该请求规范与功能测试相似,并且可以使fill_in
能够执行visit
和fill_in
。 但是现在我无法获得此请求规范,甚至无法访问路径。 关于请求规范,我应该了解些什么吗? 我将发布我的代码,看看您是否看到任何奇怪的东西?
规格:
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
让我知道您是否还有其他需要。 谢谢!
请求规范以前与RSpec早期版本中的功能规范相同,但是此后发生了变化。
请求规范旨在让您通过HTTP请求达到整个堆栈,并检查response
详细信息。 您可以使用诸如get
, post
, patch
和delete
来与您的应用程序进行交互。
请求规范示例:
get "/users/#{user.id}"
expect(response.body).to include user.full_name
功能规格由Capybara驱动,并允许您通过界面元素来发挥全部作用。 如果您想访问特定的URL,那就是使用visit
。
您的问题包括一个功能规格的示例,因此我在此答案中实际上不需要回显它。 与您的代码有关的建议是更改它,以便它检查接口,而不是它如何更改数据库。
(所以我想我毕竟会回显您的代码。
require "rails_helper"
feature "Mailchimp" do
describe "Manage list" do
scenario "adds new subscriber to list" do
VCR.use_cassette "mailchimp/subscriber" do
visit new_subscriber_path
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"
expect(page).to have_content "You have successfully subscribed to our service"
end
end
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.