Gibt es einen Befehl zum Generieren aller fehlenden Spezifikationsdateien für vorhandene Modelle/Controller? Ich habe ein Projekt mit mehreren Modellen, die ohne spec-Dateien erstellt wurden.Fehlende Spezifikationsdateien für RSpec generieren
Antwort
Sie könnten einfach den Generator ausführen und die Modelle/Migrationen/Fixtures ignorieren.
ruby script/generate rspec_model User --skip-migration --skip-fixture --skip
Ich habe nach etwas geschrieben, um dies zu tun, aber es gab kein Interesse von anderen.
In rspec-rails-2, das für Rails 3 vorgesehen ist, wurden alle rspec-Generatoren entfernt.
Sie können dieses Problem lösen, indem Sie den Schienenmodellgenerator ausführen. Sie können -s hinzufügen, um vorhandene Dateien zu überspringen, und --migration = false, um das Erstellen der Migrationsdatei zu überspringen.
Wie so:
rails generate model example -s --migration=false
https://gist.github.com/omenking/7774140
require 'fileutils'
namespace :spec do
def progress name, x, y
print "\r #{name}: #{x}/#{y} %6.2f%%" % [x.to_f/y * 100]
end
def generate_files name
kind = name.to_s.singularize
collection = Dir.glob Rails.root.join('app',name.to_s,'**','*').to_s
root = Rails.root.join('app',name.to_s).to_s<<'/'
ext = case name
when :controllers then '_controller.rb'
when :models then '.rb'
end
count = collection.count
collection.each_with_index do |i,index|
`rails g #{kind} #{$1} -s` if i =~ /#{root}(.+)#{ext}/
progress name, index, count
end
end
task generate_missing: :environment do
generate_files :controllers
generate_files :models
end
end
# if you dont want certian things generated than
# configure your generators in your application.rb eg.
#
# config.generators do |g|
# g.orm :active_record
# g.template_engine :haml
# g.stylesheets false
# g.javascripts false
# g.test_framework :rspec,
# fixture: false,
# fixture_replacement: nil
# end
#
Wenn die Anzahl der fehlenden Spezifikationen eher klein ist, könnten Sie einfach die rails generate
Befehle für die einzelnen Komponenten mit fehlenden Spezifikationen laufen.
Wenn ein Konflikt auftritt, einfach die ursprüngliche Datei nicht überschreiben. Der Generator wird die vorhandenen Dateien ignorieren und die fehlenden generieren.
- 1. Wie man einen Stub erstellt, der für alle Spezifikationsdateien in RSpec gilt
- 2. HTML-Datei von rspec generieren
- 3. Wie organisiere ich meine Spezifikationsdateien?
- 4. Wie kann ich eine gemeinsame Setup-Vorrichtung für Spezifikationsdateien teilen
- 5. Zusammenfassen der Winkelmesserergebnisse über mehrere Spezifikationsdateien
- 6. Fehlende Server-Tags nach dem Generieren lokaler Ressourcen
- 7. Api Dokumentation für Rspec?
- 8. RSpec für Custom Validation
- 9. Haskell - generieren fehlende Argument Fehlermeldung von beiden Datentyp
- 10. Ausnahme für fehlende Daten
- 11. Fehlende Baugruppenreferenz für SqlConnection
- 12. XPath für fehlende Knoten
- 13. Fehlende Einheitentests für Mutationstests
- 14. RSpec send_file test
- 15. Wie mock Anfrageobjekt für rspec Helfertests?
- 16. Rails rspec nicht definierte Methode für # <RSpec :: ExampleGroups
- 17. Rspec-Test für Iframe-Inhalt
- 18. Ressourcen und Referenzen für RSPEC
- 19. Wie Rspec Für Controller testen,
- 20. rspec: Validieren Vereinigung für Serialisierer
- 21. RSpec vs Gurke (RSpec stories)
- 22. Testen für fehlende erforderliche Zeichenfelder
- 23. HTTP-Statuscode für fehlende Authentifizierung
- 24. Warnung für das fehlende virtuelle Schlüsselwort
- 25. Wie rspec-rails zu erstellen Feature-Spezifikationen für Capybara
- 26. generieren URL für Datei
- 27. LMDB für Caffe generieren
- 28. Positionen für SKSpriteNode generieren
- 29. Abhängigkeiten für Lua generieren?
- 30. generieren farbige Kartenlayer mit R für Leaflet
funktioniert nicht mehr auf Schienen 3.2.x – Rubytastic
Arbeitete für mich! Schienen 3.2.13 – Elmor