假如我们有这样一个工程,我们new一个新的project。在project中,创建一个用例模块case。而在我们实际工作项目中,功能模块不止是有一个(例如:我们真实的项目中有三个模块,baidu模块用例由小a来完成;blog模块由小b来完成;news由小c来完成)。而每个模块下(baidu、blog、news)都有写好的好多用例。在这里我为了方便,统一写成test01.py,test02.py。里面的内容除了class的名字和用例名字不一样,其他内容全部一样。
具体看下面图所示,该图为整体目录:
test01.py
test02.py
依次类推,一直到test05.py。
假如我们项目模块少、功能少、用例也少,而且只有一个测试,所有的模块设计都是由一个人来完成。那可能就直接运行了,不用进行用例模块的划分。
我们直接在project中创建一个runAll.py,写入代码:
# coding:utf-8
import unittest
import os
# 用例路径
case_path = os.path.join(os.getcwd(), "case")#其实就是:C:\Users\songlihui\PycharmProjects\temp20191015\case
# 报告存放路径
# report_path = os.path.join(os.getcwd(), "report")
def all_case():
discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None)
print(discover)
return discover
if __name__ == "__main__":
runner = unittest.TextTestRunner()
runner.run(all_case())
然后右键runAll.py文件,点击运行,就直接将case下的所用模块下的用例文件test01到test05.py都执行,结果如下: