2012-04-10 75 views

回答

3

的一般规则是:测试你需要,直到你满意,你的程序是正确的一样多。

用于测试的错误实用程序类如何影响程序的行为?我不知道你的特定程序,但是一个不正确的测试工具类不会影响你程序的正确性。相反,它可以让你认为你的程序是正确的,但实际上并不正确,或者认为它是不正确的。所以我的实用工具类测试的本能是而不是直接测试类,但要通过心理证明过程,并确定效用方法是正确的,因此不会欺骗我对程序正确性的错误信念。

尤其是在您的情况下,实用程序类只读取文件并返回其内容,您可能不需要编写测试用例。编码这个简单的应该很容易验证是否正确,所以精神证明正确性比编写测试用例要便宜。

N.B.通过所有代码的心理证明过程是相当有用的。一些调试的时髦“技巧”,如rubber duck debugging,实际上只是强迫自己证明(至少在你脑海中)你的代码部分是正确的,或者至少没有公然错误的方法。

+0

好吧,TDD总是说我们需要获得100%的代码覆盖率?我的意思是说,如果开发人员有权决定什么是重要的测试,什么不重要,我认为这是危险的。因为开发人员毕竟是人,容易出错?你说什么? – sriram 2012-04-10 05:42:50

+1

@sriram TDD的目标不是100%的代码覆盖 - 它是正确的代码。 100%的代码覆盖是*达到目的的手段*,而不是本身的目的。开发人员是人为的,容易出错,但如果你能证明正确性,无论是精神上还是永久形式(评论,论文等),你都有比单元测试更好的东西。单元测试显示单元测试传递给您正在测试的代码的输入的正确性,但是正确性的证明显示*所有输入*的正确性,这是严格更好的。 – 2012-04-10 05:47:18

+0

谢谢!完全同意。 – sriram 2012-04-10 06:01:29