我用Python完成了我的第一个项目,现在我的任务是为它编写测试。
因为这是我第一次做项目,所以这是我第一次为它编写测试。
问题是,我该怎么开始?我完全不知道。谁能给我一些文档/教程/链接/书籍,我可以用它们来开始编写测试(我想特别是单元测试)
欢迎就这个话题提出任何建议。
我用Python完成了我的第一个项目,现在我的任务是为它编写测试。
因为这是我第一次做项目,所以这是我第一次为它编写测试。
问题是,我该怎么开始?我完全不知道。谁能给我一些文档/教程/链接/书籍,我可以用它们来开始编写测试(我想特别是单元测试)
欢迎就这个话题提出任何建议。
当前回答
unittest的文档是一个很好的开始。
而且,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。这将为您提供编写测试用例的全部好处:)
其他回答
nosetests是Python单元测试的出色解决方案。它支持基于单元测试的测试用例和doctests,并且只需要一个简单的配置文件就可以开始使用它。
免费的Python书籍Dive Into Python中有一章是关于单元测试的,你可能会觉得很有用。
如果您遵循现代实践,您可能应该在编写项目时编写测试,而不是等到项目接近完成时。
现在有点晚了,但现在你知道下次了。:)
如果您是使用单元测试的新手,那么最简单的学习方法通常是最好的。在此基础上,我建议使用py。Test而不是默认的unittest模块。
考虑下面两个例子,它们做的是同样的事情:
例1 (unittest):
import unittest
class LearningCase(unittest.TestCase):
def test_starting_out(self):
self.assertEqual(1, 1)
def main():
unittest.main()
if __name__ == "__main__":
main()
例2 (pytest):
def test_starting_out():
assert 1 == 1
假设两个文件都命名为test_unittesting.py,我们如何运行测试呢?
例1 (unittest):
cd /path/to/dir/
python test_unittesting.py
例2 (pytest):
cd /path/to/dir/
py.test
unittest的文档是一个很好的开始。
而且,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。这将为您提供编写测试用例的全部好处:)
正如其他人已经回答的那样,现在编写单元测试已经晚了,但还不算太晚。问题是您的代码是否可测试。事实上,对现有代码进行测试并不容易,甚至有一本书是关于这方面的:有效地使用遗留代码(参见关键点或预览PDF)。
现在,是否编写单元测试由您决定。你只需要意识到这可能是一项乏味的任务。您可以通过学习单元测试来解决这个问题,或者首先考虑编写验收(端到端)测试,然后在更改代码或向项目添加新特性时开始编写单元测试。