分类目录:《系统学习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,效果类似。



