【问题标题】:Rails unit testing associationsRails 单元测试协会
【发布时间】:2010-08-09 13:55:24
【问题描述】:

我应该为我的关联编写单元测试吗?

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

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

对于 has_many cmetsPost 模型,我的测试逻辑是这样的 -

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


【解决方案1】:

对我来说,测试关联就相当于测试语言(或者在这种情况下,测试框架)。

我会保留它以供您在协会做一些非标准的事情时使用。例如,如果您每次创建评论时都会更改父帖子中的某些内容,请对其进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多