Skip to main content

No project description provided

Project description

UniTesTReport

  • unittest 生成测试报告

  • unittest测试用例多线程执行

  • 安装命令 pip install unittestreport

一、使用说明

​ 本模块专门为unittest执行测试用例生成测试报告而开发,支持多线程执行unittest的测试用例

  • 关于测试报告
    • 本模块可以生成3个风格的测试报告 (ps:一种自己编写的,另一种风格由的BeautifulReport的报告模板稍加修改而来)
    • 另外为了方便大家使用,本模块还集成了HTMLTestRunnerNew这个生成报告的模块
    • 报告截图
    • 1594961041386
  • 关于多线程执行
    • 因为考虑到测试用例执行的顺序问题,本模块提供了两个多线程执行用例的方法TestRunner.run以及TestRunner.run_case。

    • TestRunner.run:以用例类为单位开启线程执行,可以保证测试类的用例执行顺序。

    • TestRunner.run_case方法:以用例为单位开启线程执行,用例执行的先后顺序得不到保证,同一个测试类多个用例可以同时执行

    • 注意点:本模块提供了多线程执行测试用例的方法,由于多线程是共享全局变量的,测试用例之间的共享全局变量,在使用多线程执行用例的的时候会因为资源竞争而影响全局变量的安全性。大家再使用多线程执行测试用例的时候,注意尽量不要多个测试用例类,使用同一个全局变量来保存数据。

  • 关于TestRunner类初始化,以及允许方法的参数说明
    class TestRunner():
        """unittest运行程序"""
    
        def __init__(self, suite: unittest.TestSuite,
                     filename="report.html",
                     report_dir=".",
                     title='测试报告',
                     tester='木森',
                     desc="木森执行测试的报告",
                     templates=1
                     ):
            """
            初始化用例运行程序
            :param suites: 测试套件
            :param filename: 报告文件名
            :param report_dir:报告文件的路径
            :param title:测试套件标题
            :param tester:测试者
            :param desc:相关的描述信息
            :param temp:模板风格
            """
       def run(self, thread_count=1):
    
            """
            支持多线程执行
            注意点:如果多个测试类共用某一个全局变量,由于资源竞争可能回出现错误
            :param thread_count:线程数量,默认位1
            :param exec_unit: case ro class
                    case: 以测试用例为单位开启多线程运行,不能保证用例执行的顺序问题
                    class:以用例类为单位开启多线程运行,可以保证用例类中的用例执行的顺序问题
            :return:
            """
    

二、使用案例

import unittest
from unittestreport import TestRunner

# 加载测试套件
suite1 = unittest.defaultTestLoader.discover(r"C:\project\musen\case_test")
# 创建运行对象
runner = TestRunner(suite1, 
                    title='木森的测试报告',
                    filename="musen02",
                    templates=1)

runner.run()

备注:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unittestreport-1.0.7.tar.gz (44.0 kB view hashes)

Uploaded Source

Built Distribution

unittestreport-1.0.7-py3-none-any.whl (50.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page