2010-12-06 15 views
14

Tengo una aplicación Rails3 que se basa en el trabajo de otra persona. Por alguna razón, decidieron no proporcionar las pruebas con la aplicación, lo que me resulta frustrante.Generar solo pruebas del modelo/controladores existentes

Lo que quiero poder hacer es andamiar las pruebas de todos los controladores y modelos existentes para poder comenzar a crear las pruebas yo mismo en test :: unit. No quiero recrear los modelos o controladores, solo crea las pruebas.

Soy nuevo en Rails, y he buscado para obtener el comando de rake que podría hacer esto, pero todo sin suerte hasta el momento. Cualquier consejo/dirección más apreciada.

Respuesta

15

sé que es un poco viejo, pero se puede hacer esto:

rails g scaffold Post -s 

El -s hace saltar los archivos ya creados. Además, si no usa el indicador, solo le preguntará si desea anular el archivo, por lo tanto, no se preocupe.

+2

También es probable que desee usar --skip-migrations. – chug2k

+0

Gracias, esto es casi perfecto, pero 'test_helper.rb' falta – ericn

1

No hay forma de hacer esto que yo sepa. Sin embargo, sería bastante fácil crear un proyecto de rieles temporales y generar andamios para todos sus modelos, luego copiar el directorio de prueba resultante en el proyecto real.

I.e.

rails new temporary 
cd temporary 
rails g scaffold Post title:string body:text 
rails g scaffold Comment post:references author:string body:text 
cp -r test ../real_rails_app/ 

etc.

Esta respuesta es ahora fuera de fecha. Las versiones actualizadas de rieles le permiten generar solo los archivos perdidos con la opción de omisión.

+0

De acuerdo, estaba en la misma situación, intenté todos los consejos que pude buscar en google y solo este realmente me ayudó –

13

Para sólo generan los archivos de prueba asociados durante los carriles existentes aplicación 3, utilizo "generar recursos" pero evita todo lo que no quiero:

rails g resource Post --skip --no-resource-route --no-migration --no-helper --no-assets 

Otras opciones pueden encontrarse usando rails generate resource --help

-s, [--skip]  # Skip files that already exist 
--resource-route   # Indicates when to generate resource route 
[--helper]    # Indicates when to generate helper 
[--assets]    # Indicates when to generate assets 
[--migration]   # Indicates when to generate migration 

¿Por qué no utilizar generate scaffold? Porque podría generar vistas que no estoy usando.

Cuestiones relacionadas