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

为开发以外的环境编写测试是个好主意吗?

  •  4
  • jcollum  · 技术社区  · 14 年前

    假设我有一组(相当典型的)环境: PROD, UAT, QA, DEV . 在所有环境中运行测试是个好主意吗?

    这就是我的想法。我的代码依赖于SQL中的一个过程,我将调用它 proc_getActiveCustomers . 如果这个程序不存在,我的应用程序会很快向南运行。所以我编写了一个测试来检查数据库中是否存在这个过程。这里没什么新鲜事。

    但是,当我将我的应用程序部署到QA环境时,我是否还希望进行一个测试来检查该环境是否存在 程序\getactivecustomers ?我认为这是一个好主意,但是我从来没有听说过在开发之外的环境中进行测试。让我想知道是否有我不知道的缺点。

    我要做的是在代码中列出环境列表,然后将该环境传递到我的单元测试中。

    3 回复  |  直到 14 年前
        1
  •  5
  •   Péter Török    14 年前

    这叫A smoketest 在你的情况下这也是个好主意。

    吸烟测试是一种快速(一套)测试,以确保产品安装正确,基本上似乎处于工作状态。与集成、加载等相反,更彻底的测试消耗资源,并且常常以不希望的方式改变系统的状态,因此不适用于生产环境。

        2
  •  0
  •   Manrico Corazzi    14 年前

    你所说的测试对我来说不像是一个“单元”测试。它检查您的设置是否正确。我当然会将检查包含在应用程序初始化代码中,并使其在情况下创建存储过程,但我不会从TDD的角度将其称为“测试”。

    这就像运行一个检查表来检查您的所有组件是否都安装正确。

    单元测试应该检查组件是否按预期工作,而不是是否存在…

        3
  •  0
  •   Gutzofter    14 年前

    您的驱动应该是使应用程序进入可部署的状态。我会说,所有东西都模拟生产环境。如果你的应用程序有这种依赖性(真实的、模拟的、子填充的或伪造的),那么应该始终测试它。您可能需要检查连续集成。它可能会帮助您描述您是否需要这个测试。