NoMethodError: неопределенный метод `own_to 'для теста при использовании musta-matchers в модульном тесте - PullRequest
0 голосов
/ 13 февраля 2020

Я пытался использовать musta-matchers, чтобы проверить связь между моделями. Тем не менее, он всегда показывает ошибку: TakingTest # test_belongs_to: NoMethodError: неопределенный метод belong_to' for #<TakingTest:0x00007fc14b8e64a8> test/models/taking_test.rb:8:in блок в 'Я проверил другой ответ, большинство из них по крайней мере 4 года go. Работает ли он с рельсами 6.0?

ruby '2.6.5'

rails ',' ~> 6.0.2 '

gem file

group :development, :test do
  gem 'rspec-rails'
end
group :test do
  gem 'shoulda', '~> 3.5'
  gem 'shoulda-matchers'
end

spec / rails_helper.rb:

Shoulda::Matchers.configure do |config|
  config.integrate do |with|
    with.test_framework :rspec
    with.library :rails
 end
end

test / models / Taking_test.rb

class TakingTest < ActiveSupport::TestCase
   test "belongs to" do
     should belong_to(:students)
   end
end

1 Ответ

0 голосов
/ 14 февраля 2020

Наличие каталога spec и каталога test может быть причиной вашей проблемы. IMO, для каждого проекта должно быть только spec или test, но не оба одновременно.

Обычно тестовые файлы начинаются с включения для файла test_helper.rb.

require 'test_helper'

Вместо test_helper у вас есть spec_helper.

Попробуйте перевести инициализатор musta с spec/spec_helper.rb на test/test_helper.rb

...