python+unittet在linux与windows使用的区别

时间:2023-03-10 00:30:33
python+unittet在linux与windows使用的区别

使用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上运行时,会报错哦:

python+unittet在linux与windows使用的区别

所以,需要将代码改为:

 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上运行都没有问题!