Загрузка модулей пространства имен в тестовых файлах Minitest в rails - PullRequest
0 голосов
/ 26 октября 2019

Rails 5.2.1 с minitest 5.1

У меня есть файл app/strategies/foo/bar/baz.rb, который я хочу разместить в пространстве имен

baz.rb:

module Foo
  module Bar
    class Baz

в консоли railsЯ могу успешно запустить: test = Foo::Bar::Baz.new

при тестировании /test/strategies/foor/bar/baz_test.rb:

require 'test_helper'
class BazTest < ActiveSupport::TestCase

test 'I can call it' do
  test = Foo::Bar::Baz.new
end

и получаю: NameError: uninitialized constant BazTest::Foo

Я пробовал различные формы, требующиенаверху baz_test.rb

require '/app/strategies/foo/bar/baz'
require '../../../../app/strategies/foo/bar/baz'
require 'baz'

Все с одинаковой ошибкой *** LoadError Exception: cannot load such file

Будем благодарны за любые предложения!

1 Ответ

0 голосов
/ 31 октября 2019

Разобрался!

/test/strategies/foo/bar/baz_test.rb определение класса должно быть:

class Foo::Bar::BazTest < ActiveSupport::TestCase
...