Подключение к MySQL DB в Ruby Rspec - PullRequest
1 голос
/ 09 декабря 2010

[n00b alert] Возможно, я все делаю неправильно ... 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 и т. Д. Все WORKS WELL , кроме тестов 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. Итак, каков правильный способ доступа к реальной БД (я ленив) для тестирования (или проблема в другом месте?)? Желательно что-то простое, так как это всего лишь школьное задание. И не возиться с Rails или другими драгоценными камнями. PS: я использую самые последние версии всех гемов и сервера. На Windows 7 x86. Рубин 1.9.2. Спасибо.

1 Ответ

0 голосов
/ 10 декабря 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...