分类目录:《系统学习Python》总目录
我们先新建一个Python Package,并在下面新建如下3个Python文件:
文件test1.py
:
import unittest
class MyTestCase(unittest.TestCase):
def test_a(self):
print('test_a')
def test_b(self):
print('test_b')
if __name__ == '__main__':
unittest.main()
文件test2.py
:
import unittest
class MyTestCase(unittest.TestCase):
def test_c(self):
print('test_c')
def test_d(self):
print('test_d')
if __name__ == '__main__':
unittest.main()
文件run.py
:
import unittest
if __name__ == '__main__':
testsuite = unittest.TestLoader().discover('.')
unittest.TextTestRunner(verbosity=2).run(testsuite)
执行文件run.py
:
test_a
test_b
test_c
test_d
test_a (test1.MyTestCase) ... ok
test_b (test1.MyTestCase) ... ok
test_c (test2.MyTestCase) ... ok
test_d (test2.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 4 tests in 0.002s
OK
Process finished with exit code 0
具体分析:
testsuite = unittest.TestLoader().discover('.')
通过unittest
的TestLoader
提供的discover
方法去寻找目录中符合条件的测试用例。.
代表当前目录,也可以构造、传递其他目录。- 以
test
开头的测试文件名为符合条件的测试用例。
另外,我们还可以在命令行模式下面执行命令python -munittest discover
,效果类似。