Python Unittest在linux与windows环境使用避坑点

2022-07-05 14:38:31 浏览数 (1)

一、以send_email.py文件内容实例讲解 windows环境下,lib目录下的send_email.py文件内容与Linux环境下lib目录下的send_email.py文件内容区别如截图标注所示:

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文件内容注意点如截图标注所示:

只需要在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

希望以上例举的tips可以帮助到大家!

0 人点赞