Python用HTMLTestRunner生成html测试报告 Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunne

小编的主机:machtml

 

1、引入HTMLTestRunner包python

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

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

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

  由于看见里面有不少.py结尾的文件,经常使用到的os.py都在里面,放这里准没错。单元测试

 

2、用unittest写测试用例测试

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

 

3、main方法中生成测试报告url

 

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")

  

4、执行main方法spa

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

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

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

 

5、查看html报告

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

  

  (2)在chrome打开如图:

   

相关文章
相关标签/搜索