Ich habe test-unit
installiert und rspec
installiert (zusammen mit -core
, -expectations
, -mocks
und -rails
Version 2.6.x). Wenn ich den Befehl ausführe rails new foo
, test-unit
werden stattdessen die Teststub-Dateien generiert rspec
.
Gibt es eine Option, mit der ich Rails anweisen kann, stattdessen rspec zum Generieren der Tests zu verwenden?
ruby-on-rails-3
rspec
rspec2
testunit
aarona
quelle
quelle
generator.rb
Initialisierer nicht, dies wird von RSpecs Railtie erledigt. Alles, was Sie brauchen, istrspec-rails
innerhalb derdevelopment
Gruppe von, dieGemfile
ausreicht, um es für die Generatoren zu benötigen. Sie müssen die App auch nicht mit generieren-T
, Sie können das Verzeichnis löschentest
und es wird funktionieren."rails/test_unit/railtie"
inapplication.rb
rspec-rails
Edelstein hinzufügen , ist es wichtig, ihn zu testen und zu entwickeln. Andernfalls verwenden die Generatoren RSpec nicht, selbst wenn Sie die obigen Schritte ausführen.Erstellen Sie Ihre neue Schienenanwendung wie folgt:
Oder entfernen Sie Ihr
test
Verzeichnis aus Ihrer vorhandenen Anwendung:Machen Sie einen Eintrag in Ihrem Gemfile:
Installieren Sie über die Befehlszeile den Edelstein
Installieren Sie über die Befehlszeile rspec in Ihrer Anwendung:
Jetzt verwendet Ihre Schienenanwendung RSpec anstelle der Testeinheit.
quelle
Sobald Sie Ihre Schienenanwendung erstellt haben mit:
Fügen Sie den RSpec-Edelstein folgendermaßen zu Ihrer Gemfile hinzu:
In die Befehlszeile schreiben:
Jetzt müssen Sie RSpec installieren, indem Sie Folgendes ausführen:
Dadurch werden die folgenden Dateien generiert:
Ich empfehle dringend, alle spec_helper- und rails_helper-Kommentare durchzulesen, um ein gutes Verständnis für die einzelnen Optionen zu erhalten.
Sobald alles eingestellt ist, können Sie alle Ihre Tests ausführen mit:
Weitere Informationen zu den empfohlenen Konfigurationen spec_helper und Rails_helper finden Sie unter https://kolosek.com/rails-rspec-setup .
quelle
Ich bin ein neuer Entwickler und habe gerade ein Rails-Flag (-rspec) erstellt, um das Problem von OP zu beheben. Es wird Test :: Unit los und fügt das Rails-Rspec-Juwel mit einem Bash-Skript ein. Das Skript kann geändert werden, um Linux-Entwicklern zu helfen, indem das Therubyracer-Gem automatisch hinzugefügt oder benutzerdefinierte Flags und Gemsets erstellt werden. (Vielleicht gehen Sie speziell zu dieser Edelsteinlinie und löschen Sie den Kommentar)
Hier ist das Wesentliche && Ich hoffe, das hilft jemandem da draußen. https://gist.github.com/MTen/8310116
quelle
Es gibt keine native Möglichkeit, dies mit der
rails
CLI zu tun . Generieren Sie ein neues Projekt ohnetest-unit
:rails new rails-app --skip-test
Befolgen Sie dann die
rspec
Anweisungen, um es in die neue Rails-App zu integrieren.quelle