如何测试与test :: unit的belongs_to,has_one或has_many关联?

时间:2013-10-10 16:12:39

标签: ruby-on-rails ruby unit-testing ruby-on-rails-4 testunit

我对rails测试很陌生,我尝试使用shoulda,但它打破了我放入的任何模型,所以我想我应该手动测试它们。

所以我向你提问哦,SO的伟大专家是这样的:

如何使用test :: unit测试模型是否与另一个模型相关联?

1 个答案:

答案 0 :(得分:5)

嗯,最明显的解决方案是这样的:

user = User.create(name: 'User')
2.times { user.friends.create(name: 'Other User') }

assert_equal(2, user.friends.count, "Unexpected associated records count")

但这基本上更像是测试rails本身,你不应该为此烦恼。

我只会查看是否user.respond_to?(:friends)。但是,当然,如果有人定义了具有该名称的方法

,它将失败