Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails教程之后,出现了一个语法错误,正在停止测试通过_Ruby On Rails_Ruby_Testing_Minitest_Railstutorial.org - Fatal编程技术网

Ruby on rails 在Rails教程之后,出现了一个语法错误,正在停止测试通过

Ruby on rails 在Rails教程之后,出现了一个语法错误,正在停止测试通过,ruby-on-rails,ruby,testing,minitest,railstutorial.org,Ruby On Rails,Ruby,Testing,Minitest,Railstutorial.org,不幸的是,我收到了一个隐藏的语法错误。有人能帮忙吗?我理解它与div的“assert\u select”方法有关,但我不确定为什么它没有通过 我的错误: Error: UsersSignupTest#test_invalid_signup_information: Nokogiri::CSS::SyntaxError: unexpected '#' after '[#<Nokogiri::CSS::Node:0x0055b3736715e8 @type=:ELEMENT_NAME, @va

不幸的是,我收到了一个隐藏的语法错误。有人能帮忙吗?我理解它与div的“assert\u select”方法有关,但我不确定为什么它没有通过

我的错误:

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>'
错误:
UsersSignupTest测试无效注册信息:
Nokogiri::CSS::SyntaxError:在“[#]之后出现意外的“#”
测试/集成/用户注册测试.rb:15:in'block in'
我的测试:

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: "user@invalid",
                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
需要“测试助手”
类UsersSignupTest
它正在测试的代码。用户/新用户:

<% 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>

注册
共享/\u错误\u消息:

<% 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 %>

表单包含。

您正在学习Hartl rails教程,因此您复制并粘贴了信息,或者忘记填写信息


在第15行,您有
'div#'
它应该是错误解释的CSS
'div#error _explauration'
和下面的
'div.field _with _errors'

在assert\u select中,您要求它转到css中的'div' 所以你只需要写下它的名字