Тесты плагина не проходят с ошибкой "undefined method `test_transaction='"

В прошлом году я создал плагин и хотел проверить, что он продолжает работать в последней версии Discourse. После повторной инициализации моей среды разработки (у меня возникли проблемы с миграцией БД) я смог вручную убедиться, что плагин работает. Однако при запуске моих спецификационных тестов (которые прошли успешно в прошлом году, когда я их написал), я получаю следующую ошибку:

Failure/Error: DB.test_transaction = ActiveRecord::Base.connection.current_transaction
      
      NoMethodError:
        undefined method `test_transaction=' for #<MiniSqlMultisiteConnection:0x00007fb8b3815c40>

У меня также был установлен Discourse Footnote локально, и я получаю ту же ошибку при запуске этих тестов.

Может ли кто-нибудь подсказать, как исправить мою среду и/или мои тесты, чтобы они проходили в текущей версии Discourse?

Какую команду вы использовали для запуска теста?

Обязательно добавьте LOAD_PLUGINS=1 при запуске bin/rspec из исходного каталога discourse (с симлинком на репозиторий плагинов из папки plugins/).

Я запускаю следующую команду из директории discourse:

d/rake plugin:spec['discourse-ruby']

@riking Я явно не указываю LOAD_PLUGINS=1, но, похоже, это происходит в любом случае (предположительно, поскольку я использую plugin:spec). Первая строка после выполнения команды:

LOAD_PLUGINS=1 /usr/local/bin/ruby -S rspec ./plugins/discourse-ruby/spec/markdown_ruby_spec.rb --profile

Если я укажу это явно, как в примере ниже, я получаю ту же ошибку:

d/rake plugin:spec['discourse-ruby'] LOAD_PLUGINS=1

Похоже, что скрипт d/rake по умолчанию использует окружение development, поэтому вам нужно запустить следующую команду: RAILS_ENV=test d/rake plugin:spec['discourse-ruby']

Это сработало, спасибо!