ruby-on-rails - 夹具错误 Hartl 第 8 章

标签 ruby-on-rails shell sublimetext3

我刚刚完成了 Hartl 教程的第 8 章,但当我尝试运行测试时,不断出现错误。我收到 3 个相同的错误,该问题似乎源于用户登录测试,其中在固定装置集中(用户)中未找到固定装置 :michael。

这是我的 user_login_test

require 'test_helper'

class UsersLoginTest < ActionDispatch::IntegrationTest

def setup
    @user = users(:michael)
  end


  test "login with invalid information" do
    get login_path
    assert_template 'sessions/new'
    post login_path, session: { email: "", password: "" }
    assert_template 'sessions/new'
    assert_not flash.empty?
    get root_path
    assert flash.empty?
  end

   test "login with valid information" do
    get login_path
    post login_path, session: { email: @user.email, password: 'password' }
    assert_redirected_to @user
    follow_redirect!
    assert_template 'users/show'
    assert_select "a[href=?]", login_path, count: 0
    assert_select "a[href=?]", logout_path
    assert_select "a[href=?]", user_path(@user)
  end
end

这是错误

ERROR["test_login_with_invalid_information", UsersLoginTest, 0.006789]
 test_login_with_invalid_information#UsersLoginTest (0.01s)
StandardError:         StandardError: No fixture named 'michael' found for fixture set 'users'
            test/integration/users_login_test.rb:6:in `setup'
        test/integration/users_login_test.rb:6:in `setup'

ERROR["test_login_with_valid_information", UsersLoginTest, 0.008174]
 test_login_with_valid_information#UsersLoginTest (0.01s)
StandardError:         StandardError: No fixture named 'michael' found for fixture set 'users'
            test/integration/users_login_test.rb:6:in `setup'
        test/integration/users_login_test.rb:6:in `setup'

DEPRECATION WARNING: The assertion was not run because of an invalid css selector.
unexpected '#' after '[#<Nokogiri::CSS::Node:0x007fa642d4e870 @type=:ELEMENT_NAME, @value=["div"]>]' (called from block in <class:UsersSignupTest> at /Users/SamDavidoff/Documents/workspace/sample_app/test/integration/users_signup_test.rb:14)
DEPRECATION WARNING: The assertion was not run because of an invalid css selector.
unexpected '<' after '.' (called from block in <class:UsersSignupTest> at /Users/SamDavidoff/Documents/workspace/sample_app/test/integration/users_signup_test.rb:15)
ERROR["test_valid_signup_information", UsersSignupTest, 0.197435]
 test_valid_signup_information#UsersSignupTest (0.20s)
NoMethodError:         NoMethodError: undefined method `is_logged_in?' for #<UsersSignupTest:0x007fa642dd6068>
            test/integration/users_signup_test.rb:27:in `block in <class:UsersSignupTest>'
        test/integration/users_signup_test.rb:27:in `block in <class:UsersSignupTest>'

最佳答案

您没有在文件 test/fixtures/users.yml 中创建用户 Here

关于ruby-on-rails - 夹具错误 Hartl 第 8 章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28930615/

相关文章:

linux - bash 脚本 : how to get item name on a radiolist using dialog

linux - 从最后一行开始读取文件

ruby-on-rails - Rails : How to create migration in subdirectory with Rails?

ruby-on-rails - Rails 请求规范 - 未定义方法 `body' for nil :NilClass (rswag)

bash - 如何在 shell 中向下移动一行?

python - Pycharm 滚动 vs SublimeText2 一

ubuntu-14.04 - 更改或禁用在 Sublime Text 3 Linux 中激活应用程序菜单栏的修改键 (alt)

sublimetext3 - 删除 Sublime Text 中所有不包含字符串的行

ruby-on-rails - Ruby on Rails - 下拉菜单

ruby-on-rails - ruby on Rails - s3_direct_upload 没有反应