Урок Майкла Хартла по Rails, глава 12 - неопределенный метод `users ' - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над учебником Михала Хартла и получаю сообщение об ошибке после первого теста.

E

Error:
RelationshipTest#test_should_be_valid:
NoMethodError: undefined method `users' for #<RelationshipTest:0x00007feb7da11100>
    test/models/relationship_test.rb:6:in `setup'


bin/rails test test/models/relationship_test.rb:10

E

Error:
RelationshipTest#test_should_require_a_followed_id:
NoMethodError: undefined method `users' for #<RelationshipTest:0x00007feb7dadf2a8>
    test/models/relationship_test.rb:6:in `setup'


bin/rails test test/models/relationship_test.rb:19

E

Error:
RelationshipTest#test_should_require_a_follower_id:
NoMethodError: undefined method `users' for #<RelationshipTest:0x00007feb7e8d04e8>
    test/models/relationship_test.rb:6:in `setup'


bin/rails test test/models/relationship_test.rb:14

Вот мои отношения_test.rb:

require 'test_helper'

class RelationshipTest < ActiveSupport::TestCase

  def setup
    @relationship = Relationship.new(follower_id: users(:michael).id,
                                    followed_id: users(:archer).id)
  end

  test "should be valid" do
    assert @relationship.valid?
  end

  test "should require a follower_id" do
    @relationship.follower_id = nil
    assert_not @relationship.valid?
  end

  test "should require a followed_id" do
    @relationship.followed_id = nil
    assert_not @relationship.valid?
  end
end

Я действительнозапутался из-за ошибки, поэтому любая помощь будет оценена.Я пытался найти другие ответы, но ничего не нашел по этому вопросу.

1 Ответ

0 голосов
/ 12 декабря 2018

Вам нужно создать и поместить несколько приборов в test/fixtures/users.yml.

Пример (вам, вероятно, нужно адаптировать его к вашей собственной структуре базы данных):

michael:
  email: "user_1@example.com"
  uid: "user_1@example.com"
  encrypted_password: <%= Devise::Encryptor.digest(User, 'password') %>

Этот прибор теперьбыть доступным в вашем тесте как users(:michael).Проверьте Rails документы для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...