Rspec 规范中的随机“%2F”用于验证注释表单的存在性
我正在尝试为posts/show.html.erb视图编写规范,该视图是我为学习rspec而编写的一个简单应用程序。我现在有点困惑,想弄清楚额外的%2F是从哪里来的。有什么想法吗 我的规格Rspec 规范中的随机“%2F”用于验证注释表单的存在性,rspec,Rspec,我正在尝试为posts/show.html.erb视图编写规范,该视图是我为学习rspec而编写的一个简单应用程序。我现在有点困惑,想弄清楚额外的%2F是从哪里来的。有什么想法吗 我的规格 it "should render a form to add a comment" do render "posts/show.html.erb" response.should have_selector("form[method=post]", :action => post_
it "should render a form to add a comment" do
render "posts/show.html.erb"
response.should have_selector("form[method=post]", :action => post_comments_path([@post, @comment])) do |form|
form.should have_selector("input[name='comment[author_name]']")
form.should have_selector("textarea[name='comment[body]']")
form.should have_selector("input[type=submit]")
end
end
带有额外%2F的规范输出
'posts/show.html.erb should render a form to add a comment' FAILED
expected following output to contain a <form[method=post] action='/posts/1001%2F/comments'/> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<p>#[Post:0x1288146 @name="Post_1001"]
#[Post:0x1288146 @name="Post_1001"]
#[Post:0x1288146 @name="Post_1001"]
Comments<br></p>
<form action="/posts/1001/comments" class="new_comment" id="new_comment" method="post">
</form>
</body></html>
./spec/views/posts/show.html.erb_spec.rb:13:
您的帖子id中是否有尾随空格?您的表单在erb中是什么样子的?对于某些在rails中运行良好的路由方案,Rspec的行为可能会异常 您正在使用什么版本的rspec?您最近更新过吗
你为什么要说明你的观点而不是仅仅使用cucumber?我不这么认为。我的before:each块中不是正在设置post对象吗?它在对mock_模型的调用中没有指定特定的id?此外,我认为%2F是一条斜线…不是一个空格。人力资源管理。。。