zoukankan      html  css  js  c++  java
  • unittest(discover 批量执行用例)

    import unittest
    
    dir = "D:\work_doc\pycharm2\python_Basics"    #自动化用例所存放的路径
    
    suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None)    #匹配出需要执行的py文件
    
    runner = unittest.TextTestRunner()    #TextTestRunner类实例化,目的是为了调用TextTestRunner下的run()方法
    
    runner.run(suit)    #调用TextTestRunner下的run()方法执行用例
    import unittest
    
    def run_all_cases(file_path,file):
        discover = unittest.defaultTestLoader.discover(file_path,pattern=file)
        return discover
    
    if __name__ == '__main__':
        runner = unittest.TextTestRunner()
        runner.run(run_all_cases(
            "D:work_docpycharm2python_selenium",
            "test*.py"))

    #解释

    1.discover方法加载测试用例

    • discover 加载到的用例是一个 list 集合,需要重新写入到一个 list 对象 testcase 里,这样就可以用 unittest 里面的 TextTestRunner 这里类的 run 方法去执行。
    • TestLoader 该类根据各种标准加载测试用例,并将它们返回给测试套件。正常情况下,不需要创建这个类的实例。unittest 提供了可以共享的 defaultTestLoader 类,可以使用其子类和方法创建实例,discover() 就是其中之一。

     

    2.discover方法里面有三个参数

    • -case_dir:这个是待执行用例的目录。
    • -pattern:这个是匹配脚本名称的规则,test*.py 意思是匹配test开头的所有脚本。
    • -top_level_dir:这个是顶层目录的名称,一般默认等于 None 就行了。

     

  • 相关阅读:
    SSM框架整合步骤
    Spring-data-jpa
    allure定制报告
    pytest常用选项
    staticmethod&classmethod&property
    __slot__
    python的参数传递
    闭包和装饰器
    内置高阶函数
    str
  • 原文地址:https://www.cnblogs.com/ZhengYing0813/p/11696820.html
Copyright © 2011-2022 走看看