问题描述
最近用python + requests + unittest + unittestreport写一个自动化接口测试的脚本,写好后通过pyinstaller打包成exe程序,执行打包好的exe程序,在生成测试报告的时候报错了
报错信息:jinja2.exceptions.TemplateNotFound: templates3.html
翻译过来就是:Jinja2 模板引擎无法找到名为 templates3.html 的模板文件
解决方法
考虑到是生成测试报告的时候调用的,那就是执行unittestreport库的方法时有问题,于是去unittestreport.testRunner文件里面找那块调用了templates3.html,打印出这个文件的位置
发现它会去调用unittestreport\core\../templates这个路径,实际是unittestreport\templates,说明可能要用到这个地方的文件,那么直接把这个目录通过--add-data打包进exe就行