我用Python完成了我的第一个项目,现在我的任务是为它编写测试。

因为这是我第一次做项目,所以这是我第一次为它编写测试。

问题是,我该怎么开始?我完全不知道。谁能给我一些文档/教程/链接/书籍,我可以用它们来开始编写测试(我想特别是单元测试)

欢迎就这个话题提出任何建议。


当前回答

unittest的文档是一个很好的开始。

而且,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。这将为您提供编写测试用例的全部好处:)

其他回答

如果您是使用单元测试的新手,那么最简单的学习方法通常是最好的。在此基础上,我建议使用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的文档是一个很好的开始。

而且,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。这将为您提供编写测试用例的全部好处:)

unittest带有标准库,但我建议你使用nosetests。

nose扩展了unittest,使测试更容易。

我还推荐你用pylint

“分析Python源代码,寻找bug和质量差的迹象。”

免费的Python书籍Dive Into Python中有一章是关于单元测试的,你可能会觉得很有用。

如果您遵循现代实践,您可能应该在编写项目时编写测试,而不是等到项目接近完成时。

现在有点晚了,但现在你知道下次了。:)

在我看来,有三个很棒的Python测试框架值得一试:

unittest - module是所有Python发行版的标准配置 Nose -可以运行单元测试,并且有更少的样板文件。 Pytest——也运行单元测试,有更少的样板文件,更好的报告,还有很多很酷的额外功能

要对所有这些进行比较,请阅读从这里开始- Python测试。 还有关于固定装置的扩展文章,还有更多。