zoukankan      html  css  js  c++  java
  • unittest编写并运行测试用例

    一、unittest编写测试用例

            1、导入unittest包

             

            2、编写测试类继承unittest.TestCase父类

            

            3、编写测试用例,测试用例是必须以test开头(test不是固定的,也可以修改源码为其他开头)、测试方法使用assert断言来判断测试结果是否通过

            

    二、运行测试用例的几种方法

    1、通过unittest.main()来执行测试用例的方式:

    方便将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们。执行方法的默认顺序是:根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行

    缺点:只能执行当前模块的测试用例,如果有多个模块的话就不能用这种方式;

    2、通过testsuit的addtest()方法将测试用例加载到测试套件中,用TexttestRunner()的run方法来执行测试用例

    优点:可以指定测试用例运行的顺序(按照加载的顺序);可以运行多个模块中指定的测试用例

    缺点:测试用例比较多的时候一个一个添加就不现实了

     3、通过TestLoader加载测试用例,添加到测试套件、执行测试用例

    优点:直接将测试类添加到测试套件中,比一个一个用例去添加强,可以运行指定的测试类

    缺点:测试类较多的时候,一个类一个类添加的话也不方便

     4、通过discover方法批量加载运行测试用例

        defaultTestLoader()类下面的discover()方法可自动根据测试目录start_dir匹配查找测试用例文件(test*.py),并将查找到的测试用例组装到测试套件,因此可以直接通过run()方法执行discover

    discover=unittest.defaultTestLoader.discover(case_dir,pattern="test*.py",top_level_dir=None)

     1.discover方法里面有三个参数:

    -case_dir:这个是待执行用例的目录。

    -pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有.py文件。

    -top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。

    优点:批量加载指定目录下的所有测试用例,适用于测试模块比较多的情况

    缺点:不能指定测试用例顺序

     5、使用HTMLTestRunner生成测试报告

         具体使用参考文档链接:https://www.cnblogs.com/yoyoketang/p/6680503.html

     

  • 相关阅读:
    【JMeter】JMeter使用plugins插件进行服务器性能监控
    【Python】不定期更新学习小问题整理
    【Python】linux安装tornado
    【Python】使用python的tornado配合html页面示例
    pip Fatal error in launcher: Unable to create process using '""'
    利用Python处理向不受信任主机发送请求
    Jmeter(十三) JDBC Request
    Django测试环境环境配置
    python接口测试之mock(三)
    python接口测试之mock(二)
  • 原文地址:https://www.cnblogs.com/yhms/p/12076764.html
Copyright © 2011-2022 走看看