2017-01-18 6 views
0

残念なことに私は私のために隠している構文エラーが表示されます。誰でも助けてくれますか?私はそれが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 %> 

答えて

0

あなたはHARTL以下の通りですが、チュートリアルをレール。

ライン15で

、あなたは'div#<CSS id for error explanation>'を持っていることではなく、エラーの説明のためのCSSでなければなりません... 'div#error_explanation''div.field_with_errors'

0

次assert_selectにあなたはとてもあなただけの必要なCSS に「DIV」に行くためにそれを尋ねましたその名前を書くには

関連する問題