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

您是否为非生产代码进行单元测试?

  •  9
  • Ikaso  · 技术社区  · 14 年前

    我对下面的场景特别感兴趣。假设您有编写生产代码的团队和编写自动测试的团队。编写自动测试的团队有一个专门的框架,用于编写自动测试。测试团队是否应该为他们的框架编写单元测试,尽管该框架没有在生产中使用?

    5 回复  |  直到 14 年前
        1
  •  4
  •   Michael Borgwardt    14 年前

    我曾经遇到过这种情况,我所做的就是将测试套件用于生产代码,也将其用作测试框架的测试套件。假设框架的所有特性都是实际使用的,所以如果测试失败而没有更改生产代码,那么测试框架中肯定存在问题。

    运行这些测试比使用专用测试套件花费的时间要长得多,有时我不会运行所有测试,在生产构建服务器上出现问题。诊断这样的问题花费的时间比使用测试套件要长得多。

    总而言之,我从来没有对它感到满意,我真的建议为测试框架也进行专门的测试。从测试编写团队的角度来看,测试框架 生产代码。如果测试框架曾经被其他任何人使用过,而你无法访问他们的测试套件…

        2
  •  4
  •   Manrico Corazzi    14 年前

    见鬼,是的!

    TDD为您提供了发展优势,它不仅仅是为了取悦客户。它允许您编写可测试、可重用和模块化的代码。我将单元测试所有必须工作的东西,特别是如果您希望经常更改它(重构以添加新特性)。

        3
  •  2
  •   mouviciel    14 年前

    测试团队应该做任何可以增加他们对框架交付的结果信任的事情。

    这包括测试、代码评审、质量标准……

        4
  •  1
  •   C. K. Young    14 年前

    是的,只要测试框架是否生成足够的测试覆盖率。

        5
  •  0
  •   ndp    14 年前

    这个问题让我想起了一个故事:从前有一家公司。这家公司相信自动测试。这种信念是如此强烈,它导致了创建一个小组,其唯一目的是编写这些自动测试。所有最热心的信徒都可以加入这个团体。大家都很高兴!

    后来有一天,人们发现,这个自动测试小组,尽管它的任务,不使用自动测试自己的工作。石头是铸造的,雅达雅达。


    我只是说…我认为任何测试框架都有相当可靠的测试覆盖率。