我目前有一项测试,但没有看到能够访问特定路径的测试。这个测试是一个请求规范,这是我的第一个,据我所知,请求规范类似于功能测试,并且可以让用户资本来执行visit
和fill_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
如果您需要查看其他内容,请与我们联系。谢谢!
答案 0 :(得分:2)
请求规范曾与早期版本的RSpec中的功能规格相同,但事情已发生变化。
请求规范旨在让您通过HTTP请求访问完整堆栈并检查short
中的详细信息。您可以使用response
,get
,post
和patch
等方法与您的应用进行互动。
示例请求规范:
delete
功能规格由Capybara驱动,允许您通过界面元素点击完整堆栈。如果您想要使用get "/users/#{user.id}"
expect(response.body).to include user.full_name
您的问题包含功能规范的示例,因此我不需要在此答案中回应它。我的建议与你的代码有关,就是要改变它,以便它检查界面而不是它如何改变数据库。
(所以我想我毕竟会回复你的代码。:))
visit