Ich kann Rake-Test nicht ausführen: Funktionale mit SQLite3, es gibt mir diesen Fehler:
%Vor%Mein Setup ist auf Windows XP. Die Tests haben vor ein paar Wochen funktioniert. Schienen 2.3.2, Rake 0.8.7, sqlite3-ruby 1.2.5 Edelsteine
Ich verwende NetBeans für die Entwicklung, aber selbst wenn es in der Nähe ist, kann ich den Test nicht über eine Eingabeaufforderung ausführen.
Ich habe auch überprüft, dass keine Handles für test.sqlite geöffnet sind (über den Task-Manager sysinternals).
Ich habe die Berechtigungen überprüft, sie sind in Ordnung.
Ich habe versucht, die Datei zu löschen und sie neu zu erstellen oder sie ohne weiteres auf einen anderen Dateinamen zu kopieren.
Ich habe versucht, den Befehl auszuführen, sobald mein Computer hochgefahren ist.
Jede Hilfe ist willkommen.
Danke
Ich hatte gerade dieses Problem. Für mich wurde es dadurch verursacht, dass ich meine Rails-Konsole in einer Testumgebung geöffnet habe. Meine Sitzung wurde geschlossen und der Fehler wurde nicht mehr angezeigt.
Sehr, sehr ähnliches Verhalten von mir: Windows XP, SQLite3, Rails 2.3.4, Rake 0.8.7, Ruby 1.8.6
Rake-Test
funktioniert (aber ich glaube nicht, dass es tatsächlich den Komponententest ausführt)
Rake-Test: Einheiten
und
Rake-Test: Funktionale
beide Fehler mit einer "Berechtigung verweigert - db / test.sqlite3" Wenn --trace aktiviert ist, tritt der spezifische Fehler unter ../rails-2.3.4/lib/task/databases.rake:370 in einer Zeile auf, die lautet "File.delete (dbfile) if File.exist? (Dbfile)
Also ... lange Geschichte kurz ... Ich habe es auskommentiert.
Das ist KEINE Lösung, aber es war genug von einem Hack, damit die Tests für mich funktionieren.
Wenn Sie unter Cygwin laufen, versuchen Sie dies in Ihren Datenbankdateien auszuführen:
%Vor%Cygwin kann verwirrt werden, welche Berechtigungen angewendet werden sollen.
Ja, ich weiß, dass diese Erlaubnis lächerlich ist, aber Cygwin manchmal auch ...
Nur ein Punt, aber haben Sie versucht, den Pfad in config/database.yml
zu
d. ein Backslash anstelle eines Forwardslashs. Oder sogar einen Full-dos-Style-Pfad. Das Problem könnte mit diesem zusammenhängen Ссылка
Ich hatte auch dieses Problem, und ich fand den Übeltäter als Initialisierer in einer Engine, die während des Ladens der Umgebung die Datenbank abfragte und verhinderte, dass die sqlite3-Datei gelöscht wurde:
%Vor%Ich habe es behoben, indem ich die DB-Anforderung vom Intializer entfernt habe.
Das Seltsame an dem Problem war, dass die Tests funktionieren würden, wenn sie für die Engine ausgeführt würden, aber nicht, wenn die Engine in einem Projekt eingebunden war. Dies würde dazu führen, dass alle Tests des Projekts fehlschlagen würden.
Tags und Links sqlite ruby-on-rails windows rubygems rake