[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. Благодарю.
Я не знаю. Как я могу это проверить? – 0ph3l14 2010-12-11 11:39:00