python unittest框架使用在linux和windows环境下区别

一.以文件内容实例讲解:
windows环境下,lib目录下的send_email.py文件内容与Linux环境下lib目录下的send_email.py文件内容区别如截图标注所示:
python unittest框架使用在linux和windows环境下区别
Linux环境下send_email.py文件的写法为:
att = MIMEText(open(config.basedir + '/Report.zip', 'rb').read(), 'base64', 'utf-8')
原因是:
1.windows环境下该工程目录/test/testsuit下的all_start.py文件执行成功后会在当前目录生成Report.zip文件
2.linux环境下该工程目录/test/testsuit下的all_start.py文件执行成功后会在工程的根目录下生成Report.zip文件(即目录:/home/devops/STG_API_unittest),而不是在目录:/home/devops/STG_API_unittest/test/testsuit下生成Report.zip文件,所以需要修改。

二.工程目录下/test/testsuit/all_start.py文件内容区别如下:
windows环境下,all_start.py文件内容注意点如截图标注所示:
python unittest框架使用在linux和windows环境下区别


只需要在all_start.py文件内:import unittest模块即可

linux环境下,all_start.py文件内容中关于:suite = unittest.defaultTestLoader.discover(basedir + '/test/testcase/CHE001_API/APP_vehicle_V1.10', pattern='*.py')
写法修改为:
test_Loader = DiscoveringTestLoader()
suite = test_Loader.discover(basedir + '/test/testcase/CHE001_API/APP_vehicle_V1.10', pattern='*.py')
并且在all_start.py文件的上方添加:from discover import DiscoveringTestLoader
如果导入报错,先安装discover,pip install discover