标签:开发 技术 文件中 name efault import pattern filename 标题
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
将下载下的HTMLTestRunner.py存放在python安装目录下的lib中,如下图
由于 HTMLTestRunner.py 是基于python2开发的,需对 HTMLTestRunner.py 文件进行修改。
mport StringIO 改为import io。
self.outputBuffer = StringIO.StringIO() 改为self.outputBuffer = io.BytesIO()
print >>sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)改为
print (sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime))
if not rmap.has_key(cls): 改为 if not cls in rmap:
uo = o.decode(‘latin-1‘) 改为 uo=o
ue = e.decode(‘latin-1‘) 改为 ue = e
执行的文件依然是计算文件,同7.3.4的py文件一样,均对runtest文件进行修改,修改结果如下:
runtest:htmlRPT.py
import unittest from HTMLTestRunner import HTMLTestRunner import time #定义测试用例的目录为当前目录 test_dir = ‘./‘ discover = unittest.defaultTestLoader.discover(test_dir, pattern=‘test*.py‘) if __name__ == ‘__main__‘: now = time.strftime("%y%m%d-%H%M%S") filename = test_dir + ‘/‘ + ‘Report_‘ + now + ‘.html‘ fp = open(filename,‘wb‘) runner = HTMLTestRunner(stream=fp, #stream指定测试报告文件 title=‘计算器测试报告‘, #测试报告标题 description=‘用例执行情况如下:‘) #副标题 runner.run(discover)
1、 添加导入文件
from HTMLTestRunner import HTMLTestRunner
2、 避免每次执行每次报告被覆盖,因此将报告名字中含有当前时间
now = time.strftime("%y%m%d-%H%M%S")
将当前时间按年月日-时分秒的形式显示并赋值给now这个变量
filename = test_dir + ‘/‘ + ‘Report_‘ + now + ‘.html‘
报告名字为当前目录下:report时间.html
3、 为了保证报告清晰易懂,建议将被执行的文件中的类和方法均使用’’’……’’’注释说明,因为’’’……’’’为doc string类型的注释,在平时调用的时候不显示,但HTMLTestRunner 却可以成功读取。如下图:
test_add.py
#0517008:suite:add from calculator import count import unittest class testadd(unittest.TestCase): ‘‘‘加法计算‘‘‘ def setUp(self): print(‘Test add Start‘) def tearDown(self): print(‘Test add Over‘) def test_add1(self): ‘‘‘加法计算1:成功‘‘‘ j = count(2,3) self.assertEqual(j.add(),5,msg= ‘加法2+3=5:错了1‘) def test_add2(self): ‘‘‘加法计算2:失败‘‘‘ j = count(3,3) self.assertEqual(j.add(),5,msg= ‘加法3+3=5:错了2‘) if __name__ == ‘__main__‘: unittest.main()
点击detail可查看类下所有方法执行情况,点击fail,可查看失败的原因。
selenium2学习:单元测试框架(5):html测试报告
标签:开发 技术 文件中 name efault import pattern filename 标题
原文地址:https://www.cnblogs.com/jxba/p/9060038.html