Python 测试报告研究


HTMLTestRunner 是Python的一个标准库,是unittest单元测试的一个框架扩展,顾名思义可以用它来生成漂亮的单元测试报告,千万别小看测试报告,赏心悦目的报告能给测试增色不少,一起来看看HTMLTestRunner是如何工作的吧 -

下载和安装
有两种方式,一种是直接pip管道安装

  1. pip install html_testRunner*.whl

  2. 另一种是直接官网下载testruner相应的py文件(Python 模块文件),然后放在安装目录的lib下即可windows:下载HTMLTestRunner.py 文件,放在python目录下的lib文件夹, 例如\Python27\Lib

实例参考

  1. 下面给出一个使用例子,这也是单元测试的常见写法,请留意

  2. 1 引入相关模块(modules)

    # -*- coding:utf-8 -*-
    import unittest
    import HTMLTestRunner,sys,StringIO
  3. 2 单元测试用例实现

    #测试用例
      class MyTestCase(unittest.TestCase):
         def setUp(self):
             pass
    
         def tearDown(self):
             pass
    
         def testCase1(self):
             self.assertEqual(2,3,"thest both number are not equal, so, this message should show here")
    
         def testCase2(self):
             self.assertNotEqual(2,3,"the both number i given are not equal. so here this message should show here!")
    
         def testCase3(self):
             self.assertIs('a', 'a', "'a' is  'a', so assert 'self.assertIs(a, a, msg)'shouldn't show this message.")
    
         def testCase4(self):
             self.assertIn('y', 'Alan', "error message - self.assertIn('y', 'Alan', 'msg') doesn't work here, so show this message")
    
         def TestCase5(self):
             self.assertNotIn('a', 'Alan', "error message -  self.assertNotIn('a', 'Alan', 'msg') doesnt work, so show this message")
  4. 3 #添加Suite

    def Suite():
        suiteTest = unittest.TestSuite()
        suiteTest.addTest(MyTestCase("testCase1"))
        suiteTest.addTest(MyTestCase("testCase2"))
        suiteTest.addTest(MyTestCase("testCase3"))
        suiteTest.addTest(MyTestCase("testCase4"))
        suiteTest.addTest(MyTestCase("TestCase5"))
        return suiteTest

1.4 调用TestRunner生成测试报告

if __name__ == '__main__':
  #确定生成报告的路径
  filePath = "c:/Users/Luck_Lello/Desktop/pyResult.html"
  fp = file(filePath,'wb')

  #生成报告的Title,描述
  runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='Automation Test Report for Python',description='This is the Report created by Alan.Yuan')
  runner.run(Suite())

小结:
这个基本上就是HTMLTestRunner模块的基本用法,当然报表生成后,还可以对其进行美化,结合css和pyechart可以做出更加生动的报告来。关于这部分的结合,下次有机会再继续分享.


Author: Alan_Yuan
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Alan_Yuan !
 Previous
Python静态页面爬虫 Python静态页面爬虫
爬虫技术随着网络的普及和广泛应用,也得到了极大的发展,互联网上有着无数的网页,如何从海量页面中快速的获取信息,是需要思考和解决的问题,这也促使了网络爬虫技术的发展,从一个页面到另一个页面,从一个站点到另一个站点,就像蜘蛛织网一样,因此网络爬
Next 
如何用Python设计专业的工作报告 如何用Python设计专业的工作报告
先来看下实例,这是我制作的月/季报模式,喜欢的话举个爪吧 ~~瞧瞧去! 设计思路: 收集整理数据 -> 将数据转换为Python Echart图表 -> 设计Html报告页,将echart图标统一展示
  TOC