zoukankan      html  css  js  c++  java
  • Python用HTMLTestRunner生成html测试报告

    小编的主机:mac

    一、引入HTMLTestRunner包

      1、下载HTMLTestRunner.py,已上传到网盘,点击下载

      2、将HTMLTestRunner.py复制到python安装目录的Lib文件夹下。

      可能有的人不知道python安装地址的Lib文件夹在哪里。小编用的是mac,放的地址为:/资源库/Frameworks/Python.framework/Versions/3.6/lib/python3.6

      因为看见里面有很多.py结尾的文件,常用到的os.py都在里面,放这里准没错。

    二、用unittest写测试用例

      具体可参考https://docs.python.org/2/library/unittest.html

    三、main方法中生成测试报告

    import unittest
    import HTMLTestRunnerNew
    import time
    import os
    
    class make(unittest.TestCase):
    
        def __init__(self, methodName='runTest'):
            super().__init__(methodName)
            print("构造函数")
    
        def test_aaa(self):
            print("aaa")
            self.assertEqual(1, 2)
    
        def test_bbb(self):
            print("bbb")
            self.assertEqual(2, 2)
    
        def test_ccc(self):
            print("ccc")
            self.assertEqual(3, 2)
    
    if __name__ == '__main__':
        print("main-start")
        s = unittest.TestSuite()  # 实例化
        s.addTests(unittest.TestLoader().loadTestsFromTestCase(make))  # 加载用例
        now = time.strftime('%Y-%m-%d %H%M%S')
        print("main-getcwd")
        filename = open(os.getcwd() + '/testResult_report' + now + '.html', 'wb')
        runner = HTMLTestRunnerNew.HTMLTestRunner(
            stream=filename,
            title='单元测试报告',
            description='单元测试报告',
            tester='youreyebows')
        runner.run(s)
        print("main-stop")
    

      

    四、执行main方法

      注意执行时一定不要右键 Run "Unittests in xxx" 因为这个执行的是上面写的继承自unittest的类,例如我这里就是make。

      可以试试哦,控制台不会打印出main方法里的print后的语句。

      执行方法见另一篇博客:Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案

    五、查看html报告

      (1)在项目下可以看见生成的测试报告,后缀为.html

      

      (2)在chrome打开如图:

       

  • 相关阅读:
    我的VIM.rc
    汉字编码
    儿童绘本
    禁用Linux bash rm --force
    English Audio-Books
    谱曲软件-MuseScore
    redis cluster 的ERR max number of clients reached 问题排查
    mycat引起的insert后马上select不到数据的故障分析
    生产环境elasticsearch
    docker kafka 修改hostname导致的问题
  • 原文地址:https://www.cnblogs.com/youreyebows/p/9719528.html
Copyright © 2011-2022 走看看