У меня возникли трудности с доступом к глобально доступной переменной @db
в моих тестах rspec. Переменная @db
устанавливается в приложении, которое включено через spec_helper.RSpec Variable Scoping
код ниже:
require File.expand_path '../../spec_helper.rb', __FILE__
p @db
describe MyModel do
before do
p @db
end
context 'constraints' do
it 'is expected to do something' do
p @db
end
end
end
Когда я запускаю это, я получаю выход:
#<Sequel::Mysql2::Database: "mysql2://root:@localhost/my_project">
nil
nil
, указывающий, что переменная @db
правильно установлена снаружи RSpec тест, но не доступен один раз тест проходит. Как я могу получить доступ к @db
из моего теста?
Вы также можете указать фильтры при настройке глобальных правил, см. Эту тему для получения дополнительной информации: http://stackoverflow.com/questions/29094646/rspec-beforeeach-hook-conditional-apply –
Я пробовал это без успеха. Я все еще получаю '' '' nil''' за '' '@ db'''. Я сделал @db = базу данных без успеха. – PressingOnAlways