를 전달해야 할 때 새로운 사용자보기 테스트 실패, 나는이 시험이 있습니다RSpec에 : 그것은
:require 'rails_helper'
require 'support/factory_girl'
RSpec.describe 'users/new', type: :view do
before(:each) do
assign(:user, create(:user))
end
it 'renders new user form' do
render
assert_select 'form[action=?][method=?]', users_path, 'post'
end
end
그리고이 페이지를 양식이 이미지의 두 번째 줄에
이 테스트에서는 양식을 찾을 수 없다는 오류가 발생합니다.
rspec spec/views/users/new.html.erb_spec.rb
users/new
renders new user form (FAILED - 1)
Failures:
1) users/new renders new user form
Failure/Error: assert_select 'form[action=?][method=?]', users_path, 'post'
Minitest::Assertion:
Expected at least 1 element matching "form[action="/users"][method="post"]", found 0..
Expected 0 to be >= 1.
# /home/ramses/.rvm/gems/[email protected]/gems/minitest-5.10.3/lib/minitest/assertions.rb:139:in `assert'
# /home/ramses/.rvm/gems/ruby-2.4.0[email protected]/gems/minitest-5.10.3/lib/minitest/assertions.rb:270:in `assert_operator'
# /home/ramses/.rvm/gems/[email protected]/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions.rb:277:in `assert_size_match!'
# /home/ramses/.rvm/gems/[email protected]/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions.rb:172:in `block in assert_select'
# /home/ramses/.rvm/gems/[email protected]/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions.rb:171:in `tap'
# /home/ramses/.rvm/gems/[email protected]/gems/rails-dom-testing-2.0.3/lib/rails/dom/testing/assertions/selector_assertions.rb:171:in `assert_select'
# ./spec/views/users/new.html.erb_spec.rb:11:in `block (2 levels) in <top (required)>'
Finished in 0.24509 seconds (files took 2.93 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/views/users/new.html.erb_spec.rb:9 # users/new renders new user form
시험을 통과하려면 무엇을 변경해야합니까?
it 'renders new user form' do
render
puts subject
assert_select 'form[action=?][method=?]', users_path, 'post'
end
그리고이 무엇인지 검사 :
나는 당신의 조언을 알아낼 수 있었다; 솔루션에 대한 내 대답을 참조하십시오. 나는'puts subject' 대신'byebug'를 사용하고'rendered '변수를 예상했습니다 – Ramses