我用Python完成了第一个适当的项目,现在的任务是为它编写测试。
由于这是我第一次做项目,所以这是我第一次为此编写测试。
问题是,我该如何开始?我真的一点儿都不知道。谁能指出我一些可以用来开始编写测试的文档/教程/链接/书(尤其是单元测试)
关于该主题的任何建议都将受到欢迎。
我用Python完成了第一个适当的项目,现在的任务是为它编写测试。
由于这是我第一次做项目,所以这是我第一次为此编写测试。
问题是,我该如何开始?我真的一点儿都不知道。谁能指出我一些可以用来开始编写测试的文档/教程/链接/书(尤其是单元测试)
关于该主题的任何建议都将受到欢迎。
Answers:
如果您是第一次使用单元测试,那么最简单的学习方法通常是最好的。在此基础上,我建议使用py.test
而不是默认unittest
模块。
考虑以下两个示例,它们具有相同的作用:
示例1(单元测试):
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(单元测试):
cd /path/to/dir/
python test_unittesting.py
示例2(pytest):
cd /path/to/dir/
py.test
unit-test
仍然包括在标准库中,如果py.test
并nose
提供相同的功能与更简单的界面吗?难道只是为了提供向后兼容性,还是unittest
有一定的优势py.test
,并nosetest
不能提供?
unittest
包装仍然足够好。这是标准的,这意味着它可以保证正常工作。最后,使用您的代码的任何人都不需要安装额外的软件包。
免费的Python书籍Dive Into Python中有关于单元测试的一章,您可能会觉得很有用。
如果您遵循现代实践,则可能应该在编写项目时编写测试,而不要等到项目接近完成时再进行测试。
现在有点晚,但是现在您知道下一次了。:)