¿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 con archivos de especificaciones.Generación de archivos de especificación perdidos para RSpec
Respuesta
Puede ejecutar el generador e ignorar los modelos/migraciones/accesorios.
ruby script/generate rspec_model User --skip-migration --skip-fixture --skip
He estado buscando escribir algo para hacer esto pero no ha habido ningún interés por parte de los demás.
En rspec-rails-2 que está diseñado para Rails 3, se han eliminado todos los generadores de rspec.
Puede resolver este problema ejecutando el generador de modelos de rieles. Puede agregar -s para omitir cualquier archivo existente y --migration = false para omitir la creación del archivo de migración.
así:
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
#
Si el número de características que faltan es más bien pequeño, puede simplemente ejecutar los comandos rails generate
para cada componente con especificaciones que faltan.
Cuando surge un conflicto, simplemente opte por no sobrescribir el archivo original. El generador ignorará los archivos existentes y generará los que faltan.
- 1. Especificación del tipo de contenido en rspec
- 2. xcode informando incorrectamente archivos perdidos
- 3. Desactivar dispositivos transaccionales para una especificación con RSpec 2
- 4. La especificación de RSpec falla cuando se invoca mediante "especificación de rake", se pasa cuando se invoca mediante "especificación de especificación"
- 5. SVN: archivos perdidos en la copia local
- 6. ¿Cómo puedo generar una especificación de controlador usando rspec?
- 7. ¿Recuperar archivos perdidos del repositorio remoto?
- 8. Fósil: ¿Eliminar archivos perdidos en un comando?
- 9. Cómo crear un apéndice que se aplica a todos los archivos de especificación en RSpec
- 10. Django Session Datos perdidos pero perdidos
- 11. Cobertura de código con Xcode 4.2 - Archivos perdidos
- 12. Encontrar artefactos de Maven perdidos
- 13. Generación dinámica de ejemplos compartidos en RSpec 2?
- 14. Datos perdidos perdidos después de la aplicación kill usando NSUserDefaults
- 15. Comprobación de la carga de archivos de Paperclip con RSpec
- 16. Rspec: cómo especificar request.env en una especificación auxiliar?
- 17. ¿Qué se considera una buena especificación? Ejemplos de Rspec para principiantes
- 18. ¿Utilidad de generación de archivos simples?
- 19. ¿Alguna buena herramienta para la generación de archivos MAKE?
- 20. Lista de generadores de RSpec
- 21. ¿Cómo hacer 'hg remove' de Mercurial para todos los archivos perdidos?
- 22. Rspec representación de texto
- 23. rails 3.1 generación de archivos CSV
- 24. Generación de archivos EDI utilizando SMOOKS
- 25. JSR: Especificación para evaluación vs Especificación para construir una implementación
- 26. Escribiendo una especificación para ayudante con Ruby on Rails y RSpec
- 27. ¿Cómo burlarse de la llamada JSONP en la especificación de solicitud de rspec con capibara?
- 28. pcolormesh con valores perdidos?
- 29. sesión del controlador de acceso Rspec 2.7 en la especificación antes de realizar la solicitud
- 30. Especificación de petición de RSpec/Capibara: no se puede obtener un dispositivo para POSTAR la nueva sesión de usuario
ya no funciona en los rieles 3.2.x – Rubytastic
¡Funcionó para mí! rieles 3.2.13 – Elmor