Rails单元测试协会

abh*_*hek 7 testing unit-testing ruby-on-rails

我应该为我的协会编写单元测试吗?

关于如何以及是否进行测试,我没有找到很多好的资源.我也看到/听到一些意见,可以不测试你的关联(belongs_to和has_many),因为它们已经在rails中测试过了.还有另一种观点认为,如果你编写代码,那就是你测试的代码.

所以,如果你说我应该,请告诉我几个很好的方法.目前,我正在使用Test :: Unit编写测试,而我没有使用Shoulda(我没有任何宏).因此,为了测试每个关联,我创建了一堆对象,然后对它们进行断言.有点像这样 -

对于has_many注释Post模型,我的测试逻辑就是这样 -

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

Ati*_*axi 12

对我来说,在测试语言时测试关联边界(或者在这种情况下,测试框架).

我会保留它,因为你正在做与协会不相称的事情.例如,如果每次创建注释时它都会更改父帖子中的某些内容,请对其进行测试.