Hola a todos, gracias por sus respuestas. Todavía no pude solucionar el
problema.

Corrí *este* test:

  def test_rails_lacra

    d = Department.create
    d.name = "Hola"
    d.save
    assert(Department.find_by_name("Hola"));

    p = Person.create
    p.name = "Hola"
    p.save
    assert(Person.find_by_name("Hola"));
  end

Y dio todo OK. Lo que se me ocurre es que en modo testing, de alguna manera
no accede a la BD sino que la cachea o algo así. Es lo único que se me
ocurre. La config de la base de datos de test es la misma que la de
development, por lo cual es imposible que me haya confundido de base de
datos. Lo que hago es poner un *breakpoint* en *p=Person.create* y ahí hago
un select * en la tabla departments y me da Empty Set.

En cuanto a lo de qué quiero testear, no es esto mismo, sino algo que tiene
que ver con una relacion many_to_many, quería ver que se insertaran los
valores en la tabla intermedia. Pero no vi ningún valor insertado en la base
de datos.

El 28 de diciembre de 2009 19:34, Gaston Ramos <[email protected]>escribió:

> El Mon, 28 de Dec de 2009, a las 05:08:36PM -0200, Hugo Massaroli dijo:
> > Hola genteee, estoy de vuelta y en forma de... nuevos problemas con
> Rails.
> > He aquí el meollo de la cuestión:
> >
> >  * def test_rails_lacra
> >     d = Department.create
> >     d.name = "Departamento 1"
> >     d.save!
> >     p = Person.create
> >     p.name = "Jorge"
> >     p.save!
> >   end*
> >
> Creo que la pregunta acá es: Qué querés testear?, empezá por poner un
> nombre
> más descriptivo como:
>
> def test_department_should_not_be_valid_without_a_name
>  d = Department.create
>  assert_equal d.errors.on(:name), "can't be blank"
> end
>
> algo así que te parece?
>
> > Eso está adentro de una unit test. Como ven, un código simple y sencillo.
> El
> > tema es que esos save no están funcionando. *Nunca se guarda nada en
> > la db.*Pensando que Rails por ahí borra la db de prueba en cada test,
> > debugueo y
> > detuve el thread justo después del primer thread y nada. No había datos
> en
> > la db. Pensé que se trataba del título del test y que Rails podría
> haberse
> > ofendido porque lo llamé lacra, pero antes había intentado con un título
> no
> > ofensivo y tampoco pasó nada.
> >
> > Quizás Rails tenga alguna opción para que en test environment te diga, si
> si
> > guardé todo, de todo OK y en realidad no guarde nada en la db. Hay alguna
> > opción así que pueda definirse en los environments?
> >
> > Desde ya les agradezco cualquier ayuda.
>
> > _______________________________________________
> > Ruby mailing list
> > [email protected]
> > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
> --
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a