[Ror-es] ¿Cómo testear el callback after_create?

Fernando Blat ferblape at gmail.com
Wed Jan 30 07:11:08 GMT 2008


O también puedes utilizar los helpers assert_difference que van en el
plugin acts_as_authenticated pero que creo que ya han incluído en
Rails 2:

def test_crear_primera_caratula
 assert_differece Caratulas, :count do
   assert_difference Disco, :count do
     disco = Disco.create(:titulo => 'Remain in Light')
     assert disco.valid?
    end
  end
end

2008/1/30 Raul Murciano <raul at murciano.net>:
>
> Hola Jaime,
>
> ¿Puede ser que el disco que creas en tu test no sea válido? En ese caso
> no se crearían  carátulas porque al no guardarse el disco no se ejecuta
> el callback (y tampoco te dejaría hacer el reload porque aún no tiene ID
> asignado en la base de datos).
>
> En este tipo de tests yo meto siempre un assert_valid mientras los
> desarrollo, más que nada para asegurarme de que el caso de prueba es el
> que necesito. El test quedaría así:
>
> def test_crear_primera_caratula
>    disco = Disco.create(:titulo => 'Remain in Light')
>    assert_valid disco
>
>    assert_equal 1, disco.caratulas.size
> end
>
> Si el disco no es válido el assert_valid te mostrará los errores de
> validación. Y si el disco es válido... entonces creo que hay algo
> colateral en tu código que se nos escapa, porque en lo que enviaste a la
> lista no veo problema ninguno.
>
> --
> Raul Murciano - Freelance Web Developer
> http://raul.murciano.net
>
>
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>



-- 
Fernando Blat
blog > http://www.inwebwetrust.net


More information about the Ror-es mailing list