2009-10-29 11 views
19

que normalmente se puede probar un método Test :: Unidad regular usando la sintaxis de comandos siguiente de un método "delete_user_test":Cómo ejecutar una sola prueba en la prueba de la debería contexto rubí marco unitario ::

ruby functional/user_controller_test.rb -n delete_user_test 

Ahora, cuando estoy usando el plugin con la debería Test :: Unidad trato de utilizar la misma técnica de la siguiente manera:

... 
context "Deleting a User" do 
    should "remove user from user table" do 
    ... 
    end 
end 

Entonces trato de ejecutar la prueba individual de la siguiente manera:

ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table" 

Esto no funciona. ¿Alguien sabe cómo puedo ejecutar pruebas de un solo contexto utilizando shoulda y Test :: Unit? Tengo un par de pruebas diferentes en un archivo de prueba y solo quiero ejecutar la que usa TDD sin tener que esperar a que se ejecuten todas las pruebas.

Respuesta

33

Esto funciona para mí:

ruby functional/user_controller_test.rb -n "/Deleting a User/" 

Sólo hay que poner un poco de cuerda razonablemente largo de su nombre de contexto en la expresión regular.

+0

Impresionante! ¡Eso funciono! Gracias Milan. –

+7

no funciona con 'minitest' :( – asymmetric

+0

Guau increíble súper gran agradecimiento – Trip

4

Usando el nombre completo de la prueba con un espacio al final parece funcionar demasiado:

ruby -Itest 
    functional/user_controller_test.rb 
    -n "test: Deleting a user should remove user from user table. " 
3

La combinación de los dos enfoques ha funcionado bien para mí; usando ambos -I test y la expresión regular.

ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/" 
Cuestiones relacionadas