Тестирование дружбы: "Пользовательская дружба должна принадлежать другу". Ошибка (Rails 4)
Я следую за курсом Treehouse, но не получил положительного ответа на форумах там. Вот проблема, которую я имею:
1) Failure:
UserFriendshipTest#test_: UserFriendship should belong to friend. [/Users/Sam/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/shoulda-context-1.2.1/lib/shoulda/context/context.rb:344]:
Expected UserFriendship to have a belongs_to association called friend (Friend does not exist)
Мой файл user_friendship_test.rb выглядит так:
require 'test_helper'
class UserFriendshipTest < ActiveSupport::TestCase
should belong_to(:user)
should belong_to(:friend)
end
Мой файл user_friendship.rb выглядит так:
class UserFriendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend
end
Я должен отметить, что я использую Rails 4.
Любая помощь приветствуется:)
2 ответа
Похоже, у вас нет класса Friend, который ищет принадлежащий вам. Я подозреваю, что дружественные отношения также должны быть объектами User, в этом случае вам нужно что-то вроде этого:
class UserFriendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, class_name: "User"
end
Если вы используете Spring для запуска своих тестов (например, bin/rspec), вам нужно вручную указать musta-matchers в вашем Gemfile.
Пожалуйста, прочтите README для получения более подробной информации: https://github.com/thoughtbot/shoulda-matchers