0

在这个著名的Stackoverflow 问题中提到了以下几点(粗体): 单元测试允许您快速对代码进行重大更改。你知道它现在可以工作了,因为你已经运行了测试,当你做出你需要做的改变时,你需要让测试再次工作。这可以节省时间

就我而言,我完成了用 Python 2.7 编写的程序。现在我开始使用 PyUnit 编写测试。测试将是另一个类(派生自“unittest.TestCase”),它将存在于不同的文件中。(一开始不知道测试应该写在开发前还是开发中)

在我写测试的时候,我开始想:如果我修改了我的程序代码,然后再次运行我的测试,那么测试应该仍然可以正常工作,因为它没有改变(以上几点表明你需要对测试以使其工作!)更改的是程序代码本身而不是测试。

我不明白上述观点中的最后一句话是什么意思。我希望我能找到能帮助我理解它的人。

谢谢

4

3 回答 3

1

单元测试验证合约。如果合同不变,它们就不会改变。程序员可以自由地修改实现,感觉自己不受 UT 错误的保护。

您引用的句子是关于更改合同的- UT 表示合同的更改,程序员应确保此更改是合理的。在设计良好的软件中,这比验证实现的正确性更容易,因此可以加快流程。

于 2013-10-20T18:09:15.947 回答
0

测试应该实际执行包代码,以便破坏包将显示在测试中。

于 2013-10-20T18:07:22.800 回答
0

我认为突出显示的句子应该有更多细节,比如原始“合同”或模块的“要求”是否更改或未更改。我的快速阅读说,原来的合同没有改变。但是您仍然必须运行,并确保它有效。或者,如果您的代码由于您的修改而提高了性能,它应该重新调整测试以反映改进。但是再次要求保持不变,并且您的代码性能更好。

于 2013-10-21T03:09:22.710 回答