как происходит тестирование ассоциации в rails?


Пожалуйста, помогите ассоциации тестирования. у меня есть модели:

class Album < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
  has_many :albums, dependent: :destroy
end

Я пытаюсь проверить ассоциацию:

describe Album do
  describe 'associations' do
     it "belongs_to user" do
        should belongs_to(:user)
     end
  end  
end

После запуска теста в консоли, я получаю follow:

Сбои: 1) Ассоциации альбомов принадлежат Пользователю Сбой/ошибка: следует belongs_to(:пользователь) NoMethodError: неопределенный Метод belongs_to' for #<RSpec::ExampleGroups::Album::Associations:0x0000000762bc98> # ./spec/models/album_spec.rb:36:inблок (3 уровня) в '

Закончено за 1.41 секунды (загрузка файлов заняла 2.32 секунды) 7 примеров, 1 сбой неудачные примеры: rspec ./спецификаций/модели/album_spec.РБ: 35 # Ассоциации альбомов принадлежат Пользователю

1 2

1 ответ:

Вы можете легко проверить эту ассоциацию, используя belong_to matcher of the gem shoulda:

describe Album do
  it { should belong_to(:user) }
end

Смотрите это для примера.