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