2010-12-09 3 views
1

[n00b предупреждение] Я, вероятно, делать это все неправильно ... RSpec выдает эту ошибку:Подключение к БД MySQL в Ruby, Rspec

1)...          #skipped irrelevant info 
    Failure/Error: graph.read_db('example1') 
    Not connected to any DB.     #error msg 
    #./prim.rb:135:in 'read_db' 
    #./prim_spec.rb:171:in 'block (2 levels) in <top (required)>' 

Я создал базу данных MySQL на одном компьютере , Программа предоставляет алгоритм вычисления минимального остовного дерева графика. Имеет методы для ввода/вывода файлов, ввода/вывода базы данных с использованием ActiveRecord и т. Д. Все РАБОТАЕТ НА СКЛАДЕ кроме RSpec. Код (несущественные детали опущены):

prim_spec.rb

describe PGraph, "online" do 
    before (:all) do 
     ActiveRecord::Base.establish_connection(
     :adapter => "mysql2", 
     :host => "localhost", 
     :username => "root", 
     :password => "xxxxx", 
     :database => "rubytasks") 
     #the exact same statement works perfectly when running the program itself, but fails in RSpec 
    end 
    before (:each) do 
     @graph = PGraph.new 
    end 

    it "should correctly retrieve data from database" do 
     @graph.read_db('example1') #line 171 
     #business part goes here 
    end 
end 

prim.rb

class PGraph 
    def read_db(graphID) 
     #the error which is raised (line 135): 
     raise "Not connected to any DB." unless ActiveRecord::Base.connected? 
     #reading goes here 
    end 
end 

соединения и манипуляции PGraph выполняется в ui.rb. Итак, ummm, каков правильный способ доступа к реальной БД (я ленив) для тестирования (или это проблема в другом месте?)? Желательно что-то простое, так как это просто школьное задание. И без возиться с Rails или другими драгоценными камнями. PS: Я использую самые последние версии всех драгоценных камней и сервера. В Windows 7 x86. Ruby 1.9.2. Благодарю.

ответ

0

Я предполагаю, что не все загружено должным образом, когда вы запускаете тесты rspec. Все классы, которые правильно настраивают подключение к базе данных и правильные параметры при запуске rspec?

+0

Я не знаю. Как я могу это проверить? – 0ph3l14 2010-12-11 11:39:00

Смежные вопросы