[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