Ich habe eine alte Rails2.3-App geerbt. Es ist sehr komplex und hat (Schock, Horror) keinerlei Tests. Ich bin an rspec und Gurke gewöhnt, also dachte ich, ich würde anfangen, Spezifikationen und Features für das spätere Upgrade auf Rails 3 zu entwickeln. Es ist einfacher zu aktualisieren, wenn ich genau weiß, was scheitern wird.
Wie auch immer, ich fand es sehr schwierig, Ressourcen im Internet zu finden, die zeigen, wie man rspec, gurke, factory girl und sophia in einer rails 2.3 Umgebung aufbaut. Mein Bündel ist wie folgt:
%Vor%Wenn ich loslaufe
%Vor%Ich bekomme den folgenden Stacktrace von shofa:
%Vor%Googeln für diesen Fehler liefert erschreckend wenige Treffer ... Ich bin mir nicht sicher, was ich falsch gemacht habe?
Das Entfernen von rspec-core ergibt:
bundle exec rspec Spezifikation / models / ansage_spec.rb /Users/sys/.rvm/gems/ree-1.8.7-2011.03@proj/gems/bundler-1.0.14/lib/bundler/rubygems_integration.rb:143:in 'gem': rspec-core ist nicht Bestandteil von das Paket. Füge es zu Gemfile hinzu. (Gem :: LoadError)
Inhalt von opt / local / bin / rspec
%Vor%Ich frage mich, ob das mit anderen von mir installierten rspecs im Konflikt steht (ich habe eine Rails3 App installiert, auch mit Bundler / rvm) ... nicht sicher warum rspec von opt / local / bin ausgeführt wird und nicht die Bündel, obwohl ..
Ich stieß auf dasselbe Problem. Nachdem ich alle binären rspec-Befehle (mehrere Stellen) gesucht hatte, erkannte ich verspätet, dass der 1.3.2-Zweig von RSPEC seine binäre "spec" und nicht "rspec" nennt.
Also waren die richtigen Befehle immer "bundle exec spec spec / models / ..." Das Setzen von "rspec" bedeutete, dass Bundler es in meinem aktuellen rvm / gemset nicht finden konnte und meinen gesamten Pfad durchforstete, um schließlich zu kommen Eine / opt / local / bin-Kopie, die zu einer Installation von rspec2.x gehörte.
Es ist möglich, dass ein Alias es zulässt, dass rspec 1.3.2 auch auf den "rspec" -Befehl reagiert, aber das war nicht der Fall für mich. Die Verwendung von "spec" war 100% zuverlässig, um diesen Aufruf für rspec-core- und andere 2.x-Module zu vermeiden.
Danke für die Frage und die ganze obige Forschung. Charles
Es sieht so aus, als ob rspec-core, das aus einer Version von rspec stammt, die nur Rails 3 unterstützt, das Problem sein könnte. Versuche dies zu deinstallieren und entferne es aus deiner Gemfile.
Zum Vergleich, hier ist ein Abschnitt aus unserer Gemfile, der für Rails 2.3 funktioniert:
%Vor% A bundle update rspec-rails
hat dieses Problem für mich auf Schienen 3.1 behoben.
Tags und Links ruby-on-rails factory-bot rspec cucumber shoulda