¿Debo escribir pruebas de unidad para mis asociaciones?Rails unit testing associations
No he encontrado muchos buenos recursos sobre cómo y si hacer las pruebas. También veo/escucho una opinión de que está bien no probar tus asociaciones (belongs_to y has_many) ya que están probadas en rieles. Y hay otra vista que dice: si el código lo escribe, es el código que prueba.
Así que si dices que debería, por favor cuéntame algunas buenas maneras de hacerlo. Actualmente, estoy escribiendo pruebas usando Test :: Unit y no estoy usando Shoulda (no tengo macros). Entonces para probar cada asociación, estoy creando un grupo de objetos y luego hago afirmaciones sobre ellos. Algo como esto -
Para un modelo Mensaje que has_many comenta, mi lógica prueba va de esta manera -
p = Post.create(:title => 'dummy_title', :content => 'lorem ...')
3.times{ Comment.create(:post_id :=> p.id, :commentor => 'jack')}
assert_equal(3, p.comments.size, "post doesn't have correct no of comments")
Por lo general, solo hago 1 o 2 pruebas para verificar que en realidad haya una asociación allí. Confío en que si la asociación existe, funciona. (Por supuesto, debe probar las opciones específicas de la asociación si tiene alguna) – alternative