Wie kann ich einen einzelnen Test in einer Rails-Testsuite ausführen?
rake test ANYTHING
scheint nicht zu helfen.
ruby-on-rails
unit-testing
rake
Artemave
quelle
quelle
Antworten:
HINWEIS: Dadurch wird der Test nicht über ausgeführt
rake
. Code, den Sie haben,Rakefile
wird also NICHT ausgeführt.Verwenden Sie den folgenden Befehl aus dem Hauptverzeichnis Ihres Rails-Projekts, um einen einzelnen Test auszuführen:
Dadurch wird ein einzelner Test mit dem Namen "name" ausgeführt, der in der MyModelTest-Klasse in der angegebenen Datei definiert ist. Der Testname wird gebildet, indem der Testname mit dem Wort "test" vorangestellt und die Wörter durch Unterstriche getrennt werden. Beispielsweise:
Sie können beide Tests ausführen über:
und nur der zweite Test über
quelle
0 tests, 0 assertions, 0 failures, 0 errors
. Schienen 3.0.7.-n "/good/"
. Das Entkommen von Shell macht immer Spaß, daher halte ich mich eher an einfache reguläre Ausdrücke, aber es ist weitaus einfacher, als ständig den vollständigen Testnamen aufzuschreiben.test/
Ordner enthält. Wenn ich zum Beispiel den Test ausführen möchte,activesupport/test/core_ext/array_ext_test.rb
sollte ichactivesupport/
zuerst dabei sein.-n "/good/"
hat funktioniert.Führen Sie eine Testdatei aus :
Führen Sie einen einzelnen Test in einer Testdatei aus:
(Aus @Puhlzes Kommentar.)
quelle
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
(/paid accounts/
in einfachen Anführungszeichen)Für Schienen 5:
quelle
bin/rails test test/models/user_test.rb:27
Dank @James scheint die Antwort zu sein:
Angenommen, 22 ist die Zeilennummer des gegebenen Tests. Laut Schienen helfen:
Beachten Sie außerdem, dass Ihr Test von ActionDispatch :: IntegrationTest erben sollte, damit dies funktioniert (das war mein Fehler):
quelle
In Schienen 5,
Ich habe auf diese Weise eine einzelne Testdatei ausgeführt (alle Tests in einer Datei).
Schauen Sie hier https://stackoverflow.com/a/41183694/3626659
quelle
So führen Sie einen einzelnen Test in der eigentlichen Rails-Suite aus:
quelle
Das war eine dumme Mitternachtsfrage von mir. Rails gibt freundlicherweise den Befehl aus, den es ausführt
rake test
. Der Rest ist eine Übung zum Ausschneiden und Einfügen.quelle
Der beste Weg ist, direkt in die Anleitungen zu schauen: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
quelle
Wenn Sie einen einzelnen Test ausführen möchten, können Sie diese einfach als reguläres Ruby-Skript ausführen
Sie können auch eine ganze Suite (z. B. ActiveRecord oder ActionMailer) ausführen, indem Sie
cd
-ing in das Verzeichnis eingeben undrake test
dort ausführen .quelle
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
-ing in. Nur um klar zu sein (ich bin nicht sicher, ob ich das falsch lese, aber Sie haben "generierte Testdateien" gesagt), dies ist für die Rails-Bibliothek selbst, nicht für ein Rails-Projekt.In meiner Situation
rake
funktioniert nurTESTOPTS="-n='/sample/'"
:quelle
Greifen Sie zuerst auf den Ordner der Bibliothek zu, die Sie testen möchten (dies ist wichtig), und führen Sie dann Folgendes aus:
quelle
Rails-Ordner
Beachten Sie, dass Sie den entsprechenden Ordner laden müssen: "activerecord / test" (wo Sie test haben)
quelle