Ошибка тестирования ассоциации ActiveRecord - PullRequest
0 голосов
/ 10 мая 2018

У меня есть приложение Rails 5.2 со следующими моделями:

class Foo < ApplicationRecord
  has_many :bars
end

class Bar < ApplicationRecord
  belongs_to :foo
end

Я использую rspec-rails (3.7.2), musta-matchers (3.1.2). У меня есть спецификация для проверки ассоциации:

describe Foo do
  it { is_expected.to have_many :bars }
  it { should have_many :bars }
end

Независимо от того, какой синтаксис я использую, я получаю ту же ошибку:

Foo should have many :bars
Failure/Error: it { is_expected.to have_many :bars }
  expected #<Foo:0x007f9f813ce650> to respond to `has_many?` # ./spec/models/foo_spec.rb:4

Foo should have many :bars
Failure/Error: it { should have_many :bars }
  expected #<Foo:0x007f9f84ad3970> to respond to `has_many?` # ./spec/models/foo_spec.rb:5

Я следовал инструкциям здесь , но все равно получаю ошибку. Я отправил свой пример проекта на Github: https://github.com/fredwillmore/shoulda_matchers_test

1 Ответ

0 голосов
/ 10 мая 2018

Я не уверен, но думаю, вам нужно определить тип rspec, например:

RSpec.describe Foo, type: :model do
   it { is_expected.to have_many :bars }
end
...