Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单元测试如何更快地修改代码?_Python_Unit Testing_Testing_Automated Tests_Python Unittest - Fatal编程技术网

Python 单元测试如何更快地修改代码?

Python 单元测试如何更快地修改代码?,python,unit-testing,testing,automated-tests,python-unittest,Python,Unit Testing,Testing,Automated Tests,Python Unittest,这篇著名的文章中提到了以下几点(粗体): 单元测试允许您快速对代码进行重大更改。您知道它现在可以工作了,因为您已经运行了测试,当您进行需要进行的更改时,您需要让测试再次工作。这样可以节省时间 在我的例子中,我用Python2.7完成了一个程序的编写。现在我开始使用PyUnit编写测试。测试将是另一个类(派生自“unittest.TestCase”),它将存在于不同的文件中。(我不知道测试应该在开发开始之前或开发过程中编写) 在编写测试时,我开始思考:如果我修改了程序代码并再次运行了测试,那么测试

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

在我的例子中,我用Python2.7完成了一个程序的编写。现在我开始使用PyUnit编写测试。测试将是另一个类(派生自“unittest.TestCase”),它将存在于不同的文件中。(我不知道测试应该在开发开始之前或开发过程中编写)

在编写测试时,我开始思考:如果我修改了程序代码并再次运行了测试,那么测试应该仍然可以工作,而不做任何更改,因为它没有更改(上面的一点表明,您需要对测试进行更改才能使其工作!)更改的是程序代码本身,而不是测试

我不明白上面提到的最后一句话有什么意义。我希望我能找到能帮助我理解它的人


谢谢,测试应该实际执行包代码,这样在测试中就会出现破坏包的情况。

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


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

我认为突出显示的句子应该包含更多的细节,例如,如果模块的原始“合同”或“需求”及其测试发生了变化,或者没有发生变化。 我的快速阅读表明,原始合同没有改变。但你还是得跑,确保它能正常工作。或者,如果您的代码由于修改而提高了性能,它应该重新调整测试以反映改进。但同样地,需求保持不变,并且代码的性能更好

嗨,Thomas,测试(或测试代码)如何执行包代码?你这是什么意思?“在我的例子中,我用Python 2.7完成了一个程序的编写。现在我开始用PyUnit编写测试。”正如你在插入语中所暗示的,这是你的第一个错误。如果你对单元测试很认真,你应该考虑测试驱动开发,在这里你开始写一个失败的测试,然后写代码,使它通过,然后添加一个失败的测试,应该通过,然后…无限的。