HTMLTestRunner 的安装与使用

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。

在使用之前,我们需要先安装他。下载地址:https://pypi.python.org/pypi/HTMLTestRunner。放在C:\Python27\Lib该目录

接下来需要找到python的ide,敲入“import HTMLTestRunner”,没报错就代表我们导入HTMLTestRunner模块成功。如下图

生成 HTMLTestRunner 测试报告学习总结-LMLPHP

实例代码:

 import unittest
import HTMLTestRunner
class testadd(unittest.TestCase):
def setUp(self):
pass
def test_add1(self):
self.assertEqual(2+3+5,10)
def test_add2(self):
self.assertEqual(0+8+7,15)
def tearDown(self):
pass
def suite():
suiteTest=unittest.TestSuite()
suiteTest.addTest(testadd("test_add1"))
suiteTest.addTest(testadd("test_add2"))
return suiteTest
if __name__=="__main__":
filepath='D:\\pyresult.html'
fp=file(filepath,'wb')
#定义测试报告的标题与描述
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'我是测试报告的标题',description=u'我是测试报告的描述')
runner.run(suite())
fp.close()

运行结果:

生成 HTMLTestRunner 测试报告学习总结-LMLPHP

详述下在学习过程中遇见的困惑

1.为什么我的代码运行成功了,但测试报告没有生成?

  对于我这种刚学习的小白来说,这个问题真是很纠结。

  因为我一直是快捷键运行代码,用unittest来启动,就没执行自己的main,执行的是unittest的main。详情请参照:http://blog.csdn.net/xie_0723/article/details/50825310

  解决方法:Run-Run-运行代码。或者alt+shift+f10-运行代码生成 HTMLTestRunner 测试报告学习总结-LMLPHP

2.上面所说的2中运行方式有什么不同呢?

  •   第一种,直接运行,执行的是unittest的man
  • 第二种,就从自己的main入口进入执行的
  • 更多详情请参照:http://www.ithao123.cn/content-6035445.html

3.我测试报告也正常生成了,但打开html的测试报告一片空白,这是为什么?

  因为你没关闭文件。

  解决方案:fp.close()

04-26 18:08