残念なことに私は私のために隠している構文エラーが表示されます。誰でも助けてくれますか?私はそれがdivのためのメソッド 'assert_select'に関連していることを理解していますが、なぜそれが渡っていないのか分かりません。構文エラーが原因でテストに合格しませんでした。 (レール、Minitest)
マイエラー:
Error:
UsersSignupTest#test_invalid_signup_information:
Nokogiri::CSS::SyntaxError: unexpected '#' after '[#<Nokogiri::CSS::Node:0x0055b3736715e8 @type=:ELEMENT_NAME, @value=["div"]>]'
test/integration/users_signup_test.rb:15:in `block in <class:UsersSignupTest>'
私のテスト:それはテストが
require 'test_helper'
class UsersSignupTest < ActionDispatch::IntegrationTest
test "invalid signup information" do
get signup_path
assert_no_difference 'User.count' do
post users_path, params: { user: {
name: "",
email: "[email protected]",
password: "foo",
password_confirmation: "bar"
}}
end
assert_template 'users/new'
assert_select 'div#<CSS id for error explanation>'
assert_select 'div.<CSS class for field with error>'
end
コードです。ユーザ/新しい:
<% provide(:title, "sign up") %>
<h1>Sign up</h1>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@user, url: signup_path) do |f| %>
<%= render 'shared/error_messages' %>
<%= f.label :name %>
<%= f.text_field :name, class: "form-control" %>
<%= f.label :email %>
<%= f.email_field :email, class: "form-control" %>
<%= f.label :password %>
<%= f.password_field :password, class: "form-control" %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f. password_field :password_confirmation, class: "form-control" %>
<%= f.submit "Create my account", class: "btn btn-primary" %>
<% end %>
</div>
</div>
共有/ _error_messages:あなたがコピーした情報を貼り付けるか、情報を記入するのを忘れて
<% if @user.errors.any? %>
<div id="error_explanation">
<div class="alert alert-danger">
The form contains <%= pluralize(@user.errors.count, "error") %>.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>