在Mac上让 Python3 可以使用 HTMLTestRunner 亲测有效
一、前言
UnitTest测试框架作为Python内置的框架,也并非十分完善,虽然运行测试框架能看到结果,但没有测试报告的输出,不易于测试结果的保存。那要如何获取测试报告呢?需要下载导入一个第三方模块HTMLTestRunner,这个类区别于之前的TextTestRunner类,是以HTML形式存放测试结果的,并会以报告的形式保存。
二、实操
1.下载HTMLTestRunner
下载地址如下
http://tungwaiyip.info/software/HTMLTestRunner.html
排雷:HTMLTestRunner扩展模块无法通过pip安装
2.存储HTMLTestRunner
排雷:网上主流文章推荐将下载的这个名为HTMLTestRunner.py的文件放到Python安装的目录lib文件夹下面,经过本人实测是无法运行的,需要通过终端找到安装目录
方法如下:
1.打开终端
2.输入:python
我的mac返回:
Python 3.7.4 (default, Sep 7 2019, 18:29:04)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
3.输入:import sys
返回:>>>
4.输入: sys.path
我的mac返回:
['', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
获取路径
存放路径:/usr/local/lib/python3.7/site-packages
方法1 命令行 cp HTMLTestRunner.py/usr/local/lib/python3.7/site-packages
方法2 手动拖动 or 打开一个文件夹 上方导航栏出现 前往 点击前往-选择前往文件夹 输入:/usr/local/lib/python3.7/site-packages
排雷:,由于这个扩展模块是基于Python2开发的,那么对于Python3来说语法上会有不兼容,所以需要对这个文件进行修改后才能在python3上使用。
重新配置参数如下:
#第94行
import StringIO 修改为: import io
#第539行
self.outputBuffer = StringIO.StringIO() 修改为: self.outputBuffer = io.StringIO()
#第631行
print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
修改为:
print (sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
#第642行
if not rmap.has_key(cls): 修改为: if not cls in rmap:
#第766行
uo = o.decode('latin-1') 修改为: uo = o
#第772行
ue = e.decode('latin-1') 修改为: ue = e
下方福利!!!~
高效率人士可以选择下面的链接下载已经修改好的HTMLTestRunner
链接: https://pan.baidu.com/s/1DFyr39Q_lvzKlnchYJSuKw 提取码: zea2
脚本上输入import HTMLTestRunner不报错,说明添加成功。
亲测有效,大家赶紧试一下吧