[alerte n00b] que je fais probablement tout faux ... RSpec sorties cet échec:Connexion à MySQL DB 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)>'
J'ai mis en place une base de données MySQL sur la même machine . Le programme fournit un algorithme pour calculer le spanning tree minimum d'un graphique. Possède des méthodes pour les E/S de fichiers, les E/S de base de données utilisant ActiveRecord, etc. Tous FONCTIONNE BIEN sauf les tests RSpec. code (parties non pertinentes omis):
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
connexion et la manipulation PGraph est effectuée en ui.rb. Alors, euh, quelle est la bonne façon d'accéder à une vraie base de données (je suis fainéant) pour tester (ou est le problème ailleurs?)? De préférence quelque chose de simple, puisque c'est juste une tâche scolaire. Et sans jouer avec Rails ou d'autres gemmes. PS: J'utilise les versions les plus récentes de toutes les gemmes et du serveur. Sur Windows 7 x86. Ruby 1.9.2. Merci.
Je ne sais pas. Comment puis-je vérifier cela? – 0ph3l14