В прошлом году я создал плагин и хотел проверить, что он продолжает работать в последней версии Discourse. После повторной инициализации моей среды разработки (у меня возникли проблемы с миграцией БД) я смог вручную убедиться, что плагин работает. Однако при запуске моих спецификационных тестов (которые прошли успешно в прошлом году, когда я их написал), я получаю следующую ошибку:
Failure/Error: DB.test_transaction = ActiveRecord::Base.connection.current_transaction
NoMethodError:
undefined method `test_transaction=' for #<MiniSqlMultisiteConnection:0x00007fb8b3815c40>
У меня также был установлен Discourse Footnote локально, и я получаю ту же ошибку при запуске этих тестов.
Может ли кто-нибудь подсказать, как исправить мою среду и/или мои тесты, чтобы они проходили в текущей версии Discourse?
Я запускаю следующую команду из директории discourse:
d/rake plugin:spec['discourse-ruby']
@riking Я явно не указываю LOAD_PLUGINS=1, но, похоже, это происходит в любом случае (предположительно, поскольку я использую plugin:spec). Первая строка после выполнения команды:
Похоже, что скрипт d/rake по умолчанию использует окружение development, поэтому вам нужно запустить следующую команду: RAILS_ENV=test d/rake plugin:spec['discourse-ruby']