代码之家  ›  专栏  ›  技术社区  ›  Diego Dias

何时不使用集成测试

  •  1
  • Diego Dias  · 技术社区  · 15 年前

    我正在编写一个应用程序,它使用第三方库在虚拟机上进行实例化和一些操作。

    起初,我在为应用程序的每个功能编写集成测试。但是我发现这些测试并没有真正的帮助,因为我的环境必须处于一个确定的状态,这使得测试变得越来越难以编写。我决定只做单元测试和验收测试。

    所以,我的问题是…当不使用集成测试时,是否有方法或提示需要注意??(或者我错了,在所有情况下都应该写出来)

    3 回复  |  直到 15 年前
        1
  •  6
  •   Rob    15 年前

    当您不打算将应用程序实际连接到任何“真正的”东西上时,就没有真正的容器、数据库、资源或实际的服务。这就是集成测试应该验证的东西;所有东西都能正常地一起工作。

        2
  •  1
  •   tloach    15 年前

    集成测试很好地测试一个完整的系统,该系统具有定义良好的输入和输出,这些输入和输出不太可能改变。如果预期的输入/输出经常发生变化,那么维护测试可能会成为维护挑战,或者更糟的是,由于升级集成测试可能需要大量的工作,您可能会选择不改进接口。

        3
  •  1
  •   Thomas Jung    15 年前

    简单而简短的规则是:在集成测试中测试什么会中断 由于整合 在单元测试中测试其余部分 孤立地 .

    你甚至可以 hate integration tests . 为只接受一个整型参数的函数编写单元测试已经足够困难了。所有可能的状态(内部和外部(时间、外部系统))和输入组合都会使集成测试几乎不可能(对于一个合适的应用程序)。