使用python的unittest编写单元测试框架,批量运行测试用例时,如果使用discover时,windows环境下和linux环境下的代码不一样
Windows环境的run.py代码:
1 casedir = "../cases" 2 discover_test = unittest.defaultTestLoader.discover(casedir,pattern='test_*.py') 3 4 5 suite = unittest.TestSuite() 6 for c in discover_test: 7 for case in c: 8 suite.addTests(case)
这段代码在windows上运行没有问题,但上传到linux上运行时,会报错哦:
所以,需要将代码改为:
1 import unittest 2 from discover import DiscoveringTestLoader 3 casedir = "../cases" 4 5 test_Loader = DiscoveringTestLoader() 6 7 discover_test = test_Loader.discover(casedir) 8 9 suite = unittest.TestSuite() 10 for c in discover_test: 11 for case in c: 12 suite.addTests(case)
如果未安装discover,需要安装discover:pip install discover
这段代码在windows上和linux上运行都没有问题!