我们测试代码以使其更正确(实际上,不正确的可能性较小)。但是,测试也是代码-它们也可能包含错误。而且,如果您的测试有错误,则很难使您的代码变得更好。
我可以想到测试中三种可能的错误类型:
逻辑错误,当程序员误解了手头的任务,并且测试按照他认为应该做的事情进行时,这是错误的;
基础测试框架中的错误(例如,泄漏的模拟抽象);
测试中的错误:测试的执行与程序员认为的稍有不同。
类型(1)错误似乎无法防止(除非程序员只是……变得更聪明)。但是,(2)和(3)可能很容易处理。您如何处理这些类型的错误?您有什么特殊策略可以避免它们吗?例如,您是否编写了一些特殊的“空”测试,仅检查测试作者的预设?此外,您如何调试已损坏的测试用例?