代码部分
1.新建项目unittest_demo
2.新建functions包,在下面新建一个count.py实现简单加减法计算功能
3.新建一个case目录,存放测试用例(共4条用例)
1).test_add.py的测试用例
2).test_sub.py的测试用例
4.引入HTMLTestRunner生成报告:
下载HTMLTestRunner:
1).下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html(试用python2,需要python3试用,修改参照)
因为下载的HTMLTestRunner是Python2版本的,Python3的话要修改一下:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e
第775行,将ue = e.decode(‘latin-1‘)修改成ue = e
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime))
2).打开文件复制里面的的内容,编辑器里面新建一个HTMLTestRunner.py,将刚刚的复制内容贴到HTMLTestRunner.py
3).打开python的安装路径,将HTMLTestRunner.py放入Lib下
5.新建一个人report目录用来保存我们的测试结果(html文件)
6.在项目下新增run_main.py 执行测试用例
# -*- coding:utf-8 -*-
import unittest
from unittest_demo.case.HTMLTestRunner import HTMLTestRunner
import os
def run_case():
# 用例读取路径
case_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "case")
suite = unittest.TestLoader().discover(case_path)
# 测试报告存放路径
report_path = os.path.join(os.path.dirname(os.path.realpath(__file__))+"/report/result_report.html")
with open(report_path, "wb") as f:
runner = HTMLTestRunner(stream=f,
title="Count Test Report",
description="Test Result",
verbosity=2
)
runner.run(suite)
run_case()
测试结果
1.当前目录下会生成一个html文件(测试报告)
2.浏览器打开,如图