ruby-on-rails ruby rspec specifications

ruby on rails - Generando archivos de especificaciones faltantes para RSpec



ruby-on-rails specifications (4)

¿Hay algún comando disponible para generar todos los archivos de especificaciones faltantes para los modelos / controladores existentes? Tengo un proyecto que tiene varios modelos que se han generado sin archivos de especificaciones.


En rspec-rails-2, destinado a los rieles 3, todos los generadores rspec se han eliminado.

Puede resolver este problema ejecutando el generador de modelos de rieles. Puede agregar -s para omitir los archivos existentes y --migration = false para omitir la creación del archivo de migración.

Al igual que:

rails generate model example -s --migration=false


Si el número de especificaciones faltantes es bastante pequeño, simplemente podría ejecutar los rails generate comandos para cada componente con especificaciones faltantes.

Cuando surge un conflicto, simplemente opta por no sobrescribir el archivo original. El generador ignorará los archivos existentes y generará los que faltan.


Solo puede ejecutar el generador e ignorar los modelos / migraciones / accesorios.

ruby script/generate rspec_model User --skip-migration --skip-fixture --skip

He estado pensando en escribir algo para hacer esto pero no ha habido ningún interés por parte de otros.


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 #