是否有人能够阐明为什么会出现这种错误:
Failure/Error:
expect(render).to have_selector('form', method: 'post', action: 'index') do |form|
expect(form).to have_selector('input', type: 'submit')
ArgumentError:
invalid keys :method, :action, should be one of :count, :minimum, :maximum, :between, :text, :visible, :exact, :match, :wait
是在此代码上生成的:
require 'rails_helper'
describe "messages/new.html.erb" do
it "renders a form to create a message" do
assign(:message, mock_model('Message'))
render
expect(render).to have_selector('form',
method: 'post',
action: 'index'
) do |form|
expect(form).to have_selector('input', type: 'submit')
end
end
end
非常感谢。
答案 0 :(得分:3)
您对have_selector
的来电不对:您无法以这种方式检查元素是否存在属性。但是,您可以在选择器中包含它,例如
have_selector("form[method=post][action=index]")
如果渲染的html实际上具有表单的完整路径或url,那么您需要使用路由助手来生成该URL并在选择器中使用它。