你是否对非生产代码进行单元测试?

时间:2010-04-07 08:18:36

标签: unit-testing

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

5 个答案:

答案 0 :(得分:4)

天哪!

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

答案 1 :(得分:4)

我一直处于这种情况,我所做的是将生产代码的测试套件也用作测试框架的测试套件。据推测,实际使用了框架的所有功能,因此如果测试失败而没有更改生产代码,那么测试框架中肯定存在问题。

运行正常 - 运行这些测试所花费的时间比专用测试套件所需的时间长得多,有时我不会运行所有这些测试并且生产构建服务器上出现问题。诊断此类问题的时间比测试测试时间长得多。

总而言之,我从未对此感到满意,并且真的建议对测试框架进行专门的测试。从测试编写团队的角度来看,测试框架生产代码。如果测试框架被任何其他人使用,那么他们的测试套件就无法访问......

答案 2 :(得分:2)

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

这包括测试,代码审查,质量标准......

答案 3 :(得分:1)

是的,如果只是为了测试框架是否产生足够的测试覆盖率。

答案 4 :(得分:0)

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

然后有一天,人们发现这个自动测试组尽管有使命,但并没有对自己的工作使用自动测试。石头是演员,yada yada。


我只是说...我认为任何测试框架都会有非常可靠的测试覆盖率。