如何使用unittest在Python中编写测试

时间:2013-12-16 21:32:01

标签: python unit-testing python-unittest

我想用TDD方法编写我的库,但我不知道如何设计目录结构(或如何使用unittest)。现在我创建一个目录树,例如:

myproject (directory)
    - tests (directory)
    - src (directory)
    - test.py (file running tests)

src中的每个班级都有自己的unittest班级。每个目录都有自己的__init__.py文件。我想仅从test.py文件运行测试,并且由于这一点,每个测试都可以from src.modulename import classname而不是运行测试unittest.main()函数。不幸的是它不起作用(运行零测试)。

这是好方法吗?我的错误是什么?

1 个答案:

答案 0 :(得分:1)

文件test.py中的代码应如下所示:

from tests import *
import unittest

if __name__ == '__main__':
    testsuite = unittest.TestLoader().discover('.')
    unittest.TextTestRunner(verbosity=1).run(testsuite)

此代码从tests目录复制所有测试,因为它复制整个包。 main方法运行tests包的类中包含的所有测试方法。 每个测试文件名称必须以test开头。