活动记录测试has_many关联

时间:2014-07-03 20:22:44

标签: ruby-on-rails cucumber rails-activerecord

我正在尝试测试某些实体是否与所有者实体正确关联。

class Recipe < ActiveRecord::Base
    has_many :ingredients
end

我已经插入了这些成分,然后想要测试它们是否属于给定的配方。在黄瓜我想测试类似的东西:

recipe.ingredients.should_contain(ingredient1, ingredient2)

我该如何测试?

1 个答案:

答案 0 :(得分:0)

这似乎更像是一个单元或集成测试而不像行为测试。您可以使用shoulda来测试关系是否存在。 https://github.com/thoughtbot/shoulda-matchers。然后你可以为单元测试做这样的事情。

    recipe.should have_many(:ingredients)

另一方面,您可以通过集成测试插入成分,并检查另一侧的关系,就像您在问题中提到的那样。