代码之家  ›  专栏  ›  技术社区  ›  hurikhan77

理解Rails单元测试:如果单个测试测试模型的相互依赖性,那么它仍然是一个单元测试吗?

  •  1
  • hurikhan77  · 技术社区  · 16 年前

    除了Rails将数据库层合并到单元测试(严格来说,这不是单元测试)之外,如果我测试模型的相互依赖性,例如检查 has_many / belongs_to 具有 :dependent => :destroy

    这样的测试是否应该更好地放在功能测试或集成测试中?

    或者用另一种方式问:有没有一个例子指导哪种测试应该去哪里,为什么?我没有发现任何真正有用的东西。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Nicholas C    16 年前

    一般的经验法则是,对模型进行单元测试,对控制器进行功能测试,对视图进行集成测试。如果您使用的是RSpec,那么您将拥有模型、控制器和视图规范——但本质上是测试相同的东西。

        2
  •  0
  •   Mendelt    16 年前

    单元测试中的单元并不总是单个类或对象。测试相互依赖性不应该是个问题。我还没有找到任何在单元测试中定义单元的硬性规则,但我经常使用领域驱动设计的思想来指导我。作为单元测试,测试单个聚合行为的测试通常是可维护的。依赖于更多聚合甚至聚合和服务的测试是集成测试。