Ich gehe durch ein Tutorial, das die Verwendung vorgeschlagen hat rspec
, aber ich habe bereits viele Standardschieneninstallationen durchlaufen. Ich möchte die Installation wirklich überhaupt nicht wiederholen müssen. Wie auch immer, wenn ich renne
$ rails g integration_test named
Ich bekomme
invoke test_unit
create test/integration/named_test.rb
Wenn ich renne bundle
, werden verschiedene rspec
Edelsteine aufgelistet, aber test_unit
nicht. Das Tutorial scheint Rails aufzurufen, rspec
anstatt test_unit
etwas zu tun. Wie kann ich Schienen rspec
mit dem Befehl zum Integrationstestgenerator verwenden?
quelle
rails g scaffold --help
und es wird weiterhin test_unit angezeigt. Muss ich etwas tun, um die Konfiguration erneut auszuführen, oder eine Möglichkeit, diese Einstellungen manuell zu ändern?g.test_framework :test_unit
.Bei der Arbeit mit Rails 3.2.8 und rspec-Rails 2.11.4 stellte ich fest, dass mein Problem in meiner Gemfile lag. Ich hatte
rspec-rails
in der:test
Gruppe aber nicht in der:development
Gruppe. Da Rails standardmäßig im Entwicklungsmodus ausgeführt wird (auch wenn Sie generate ausführen),rspec-rails
muss es sich in Ihrer:development
Gruppe befinden, damit es in die Generatoren eingebunden werden kann. Sobald ich das hatte, funktionierte alles gut.quelle
group :development, :test do
Befolgen Sie ab Rails 3.2.12 die folgenden Schritte in der angegebenen Reihenfolge
Fügen Sie Ihrem Gemfile in der Entwicklungs- und Testgruppe rspec-Rails hinzu
group :development, :test do gem 'rspec-rails' end
Lauf
bundle install
Lassen Sie den Generator laufen
rails generate rspec:install
... und bereinigen Sie Ihr vorhandenes Testverzeichnis:
quelle
rails new
Befehl.rm -Rf $RAILS_ROOT/test
Befehl auf, Sie werden auch Ihre Mailer-Vorschau entfernen ...Kam heute über dieses Problem. application.rb muss aktualisiert werden mit:
config.generators do |g| g.test_framework :rspec g.integration_tool :rspec end
quelle
Führen Sie zuerst den folgenden Befehl aus, um RSpec anstelle von Standard Test :: Unit zu verwenden
$ rails generate rspec:install
Dieser Befehl erstellt folgende Ordner / Dateien
Wenn Sie jetzt einen Generator zum Generieren von Schienenkomponenten wie Controller, Modell usw. verwenden, werden entsprechende RSpecs erstellt.
quelle
Fügen Sie in config / application diesen Code hinzu
config.generators do |g| g.test_framework :rspec g.integration_tool :rspec end
quelle
1. Wenn Sie eine neue Rails-App erstellen, überspringen Sie das TestUnit-Framework. Andernfalls wird das Verzeichnis test_unit generiert.
$rails new your_app --skip-test-unit
2. Fügen Sie der Datei your_app / config / application.rb den folgenden Code hinzu:
config.generators do |g| g.test_framework :rspec end
3. Fügen Sie den folgenden Code zur Gemfile von your_app hinzu:
group :test, :development do gem 'rspec-rails' end
Speichern Sie es und führen Sie es ausbundle install
, um rspec gem zu installieren4. Initialisieren Sie das Verzeichnis spec /
rails generate rspec:install
Weitere Informationen finden Sie unter: https://github.com/rspec/rspec-rails
quelle
Was ich herausgefunden habe, dass einige der anderen Methoden immer noch funktionieren, ist meine Rechtschreibung zu überprüfen .... Ich hatte das, was @tovodeverett hatte, um rspec-Rails zu gruppieren mit: Entwicklung und: Test, aber Entwicklung falsch geschrieben. Das hat mein Problem behoben, aber ich habe Tests mit test_unit anstelle von rspec generiert.
quelle
$ rails g model Account invoke active_record create db/migrate/20140205052617_create_accounts.rb create app/models/account.rb invoke test_unit create test/models/account_test.rb create test/fixtures/accounts.yml $ rails d model Account
Durch Ausführen von script / Rails wird rspec generiert: install fügt rspec nicht als Standardframework hinzu. Der folgende Befehl wurde in config / application.rb hinzugefügt und dann funktioniert es
config.generators do |g| g.test_framework :rspec end $ rails g model Account invoke active_record create db/migrate/20140205052957_create_accounts.rb create app/models/account.rb invoke rspec create spec/models/account_spec.rb $ rails -v Rails 4.0.2
quelle