• day11_unittest生成测试报告


    HTMLTestRunner是帮助产生测试报告的,把HTMLTestRunner.py这个文件放到环境变量里,最简单的方法就是把HTMLTestRunner.py复制到External Libraries下面的任一目录里,这里我是放到了Lib目录下,以后即使在别的目录下也可以使用

    TestCase是测试用例
    TestSuite是用例集合
    TestLoader就是查找测试用例的,加载TestCase到TestSuite中
    TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息

    import unittest
    import HTMLTestRunner


    def add(a, b):
    return a + b


    class AddTest(unittest.TestCase):
    def test_normal(self):
    res = add(1, 1)
    self.assertEqual(2, res)

    def test_error(self):
    res = add(1, 1)
    self.assertEqual(1, res)

    def setUp(self):
    print('setUp')

    def tearDown(self):
    print('tearDown')

    @classmethod
    def setUpClass(cls):
    print('setUpClass')

    @classmethod
    def tearDownClass(cls):
    print('tearDownClass')


    if __name__ == '__main__':
    # suite = unittest.TestSuite() # 定义一个空的测试集合,suite.addTest(类名('用例名称'))是添加某个测试用例
    # suite.addTest(unittest.makeSuite(AddTest)) # 一次性加载一个类文件下所有测试用例到suite中去
    test_suite = unittest.makeSuite(AddTest) # 这行等于上面两行
    fw = open('ssj.html', 'wb') # wb写入模式,b是bytes,可以写入图片
    runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='测试报告', description='2020年第一个测试报告')
    runner.run(test_suite)
    fw.close()

    运行完成后在pycharm里打印出F..代表用例通过,F代表用例失败,如下图:

    在当前目录里会生成ssj.html这个文件,点开ssj.html在当前页面点击右上角的任意一个浏览器,如下图:

    以google浏览器为例会在浏览器里生成测试报告,如下图:

    点击All会显示具体用例执行的情况,点开fail会看到具体的报错信息,HTMLTestRunner这个模块产生的报告,是给咱们自己看的,这个报告看着不是很好看,现在用BeautifulReport来生成测试报告,把BeautifulReport.zip解压到任一目录下,然后复制第二层文件夹到环境变量里,就是环境变量Lib下的site-packages文件夹下,我放到D: ew_pythonLibsite-packages这个路径下,然后导入BeautifulReport,通过如下代码实现:

    import unittest
    import BeautifulReport


    def add(a, b):
    return a + b


    class AddTest(unittest.TestCase):
    def test_normal(self):
    res = add(1, 1)
    self.assertEqual(2, res)

    def test_error(self):
    res = add(1, 1)
    self.assertEqual(1, res)

    def setUp(self):
    print('setUp')

    def tearDown(self):
    print('tearDown')

    @classmethod
    def setUpClass(cls):
    print('setUpClass')

    @classmethod
    def tearDownClass(cls):
    print('tearDownClass')


    if __name__ == '__main__':
    test_suite = unittest.makeSuite(AddTest)
    bf = BeautifulReport.BeautifulReport(test_suite)
    bf.report(filename='0605_new_report.html', description='更好看的测试报告') # 还可以传一个log_path,想在哪生成报告就写上具体的路径,如果没写log_path,就在当前目录下生成测试报告
    print(bf.failure_count) # 失败次数
    print(bf.success_count) # 通过次数
  • 相关阅读:
    Ubuntu上安装RabbitMQ
    解决tfs工作区绑定问题
    ubuntu装个nginx
    supervisor执行dotnet
    Validate + Boostrap tooltip 表单验证示例
    ASP.NET下跨应用共享Session和使用Redis进行Session托管
    IE下将网页拷贝到剪贴板
    js格式化json格式的日期
    js 时间戳转换
    Windows服务简单使用
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8601803.html
Copyright © 2020-2023  润新知