我想用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()
函数。不幸的是它不起作用(运行零测试)。
这是好方法吗?我的错误是什么?
答案 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
开头。