2010-08-09 13 views
7

Devo scrivere test di unità per le mie associazioni?Associazioni di test unità di rotaie

non ho trovato molte buone risorse su come e se per fare il test. Vedo/sento anche che è giusto non testare le tue associazioni (appartiene_a e ha_molti) dato che sono già state testate su binari. E c'è un'altra opinione che dice, se si scrive codice, è il codice che si prova.

Quindi, se tu dici che dovrei, mi dica alcuni buoni modi di fare questo. Attualmente sto scrivendo test usando Test :: Unit e non sto usando Shoulda (non ho macro). Quindi, per testare ogni associazione, sto creando un sacco di oggetti e poi faccio affermazioni su di essi. Un po 'come questo -

Per un modello Messaggio che i commenti has_many, la mia logica di prova va in questo modo -

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")

+0

Di solito faccio solo 1 o 2 test per verificare che ci sia effettivamente un'associazione lì. Confido che se l'associazione esiste, funziona. (Naturalmente, è necessario testare le opzioni specifiche sull'associazione, se ne avete) – alternative

risposta

12

Per me, testare i confini di associazione sui test della lingua (o in questo caso, testare il framework).

avrei riservo per le circostanze in cui si sta facendo qualcosa non standard con l'associazione. Ad esempio, se ogni volta che crei un commento cambia qualcosa nel post principale, testalo.