【发布时间】:2010-08-09 13:55:24
【问题描述】:
我应该为我的关联编写单元测试吗?
我还没有找到很多关于如何以及是否进行测试的好资源。我还看到/听到一些意见,认为不测试您的关联(belongs_to 和 has_many)是可以的,因为它们已经在 Rails 中进行了测试。还有另一种观点认为,如果它是你编写的代码,那么它就是你测试的代码。
所以如果你说我应该,请告诉我一些这样做的好方法。 目前,我正在使用 Test::Unit 编写测试,而我没有使用 Shoulda(我没有任何宏)。因此,为了测试每个关联,我创建了一堆对象,然后对它们进行断言。有点像这样 -
对于 has_many cmets 的 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")
【问题讨论】:
-
我通常只做 1 或 2 次测试来验证那里确实存在关联。我相信,如果关联存在,它就会起作用。 (当然,如果有关联的具体选项,你需要测试一下)
标签: ruby-on-rails unit-testing testing