2011-05-15 18 views
13

Olvidé crear mi aplicación con el argumento -T y ahora está instalada con test :: unit. ¿Cómo elimino test :: unit y evito que cree pruebas para cada controlador/modelo generado, después de que ya haya creado la aplicación? GraciasEliminar prueba :: unidad

Respuesta

12

En su configuración/application.rb tratar

config.generators do |g| 
    g.test_framework :rspeC#=> or whatever 
end 

En respuesta al comentario

Trate

config.generators do |g| 
    g.test_framework nil 
end 

Puede que no sea el "más adecuado" o Rails- ish way, pero funciona

actualización

estaba leyendo los carriles de guía de inicialización actual y se dio cuenta de que la razón más probable Test :: La unidad sigue siendo incluido es esta línea:

require 'rails/all'

que podría ser reemplazado con:

require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "active_resource/railtie" 

Esto debería solucionar el problema. Si estás usando Rails 3.1.x también tendría incluir

require "sprockets/railtie" 

si usted está planeando sobre el uso de la tubería de activos.

Actualización 2

para los carriles 3.2 se debe usar esta:

config.app_generators do |c| 
    c.test_framework :rspec, :fixture => true, 
          :fixture_replacement => nil 

    c.integration_tool :rspec 
    c.performance_tool :rspec 
end 
+2

Quiero quitar el marco de prueba actual, no reemplazarlo? – user715697

1

La manera más limpia, como menciono en una situación similar question and answer es hacer esto ...

Para Rails 3, para eliminar test_unit de su aplicación, necesita eliminar (o comentar) el test_unit Railtie en config/application.rb:

# require "rails/test_unit/railtie" 

Si eres curioso acerca de lo que esta línea de código, visita nuestra railties/lib/rails/test_unit/railtie.rb source que actualmente tiene el siguiente aspecto:

module Rails 
    class TestUnitRailtie < Rails::Railtie 
    config.app_generators do |c| 
     c.test_framework :test_unit, :fixture => true, 
            :fixture_replacement => nil 

     c.integration_tool :test_unit 
     c.performance_tool :test_unit 
    end 

    rake_tasks do 
     load "rails/test_unit/testing.rake" 
    end 
    end 
end 
7

Para eliminar la prueba: Unidad de los carriles 4:

reemplazar a los siguientes línea de config/application.rb:

require 'rails/all' 

Con:

require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "sprockets/railtie" 

También puede quitar con seguridad el directorio de prueba.

5

Construir una nueva aplicación con rails new APP_NAME --skip-test-unit en Carriles 4 resultados en:

require "rails" 
# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_job/railtie" 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "sprockets/railtie" 
# require "rails/test_unit/railtie" 
0

En Los Carriles 5,1

en config/application.rb

quite o comentario

require 'rails/all' 

y luego incluir

require "rails" 
# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_job/railtie" 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "action_cable/engine" 
require "sprockets/railtie" 
# require "rails/test_unit/railtie" 

Además, si usted no desea generar archivos de prueba del sistema añadir lo siguiente:

# Don't generate system test files. 
config.generators.system_tests = nil 

Una vez hecho esto, puede eliminar el directorio test