Случайный «% 2F» в спецификации для проверки существования формы комментария

StackOverflow https://stackoverflow.com/questions/1220716

  •  10-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь написать спецификации для представления 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_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:
Это было полезно?

Решение

Как выглядит ваш form_for в erb? Rspec может вести себя странно для определенных сценариев маршрутизации, которые отлично работают в рельсах.

Какую версию rspec вы используете (и недавно обновляли)?

Почему вы указываете свои взгляды, а не просто используете огурец?

Другие советы

В вашем почтовом идентификаторе есть пробел?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top