zoukankan      html  css  js  c++  java
  • Python Pytest单元测试框架

      

      pytest是目前公司使用的主流的单元测试框架,其简单灵活,容易上手,而且支持的插件上千种,功能极其强大。

    一、pytest安装

      pytest的安装有两种方法,第一种方法是命令行输入pip install pytest(Pycharm的Terminal命令行或者Window系统cmd进入命令行);第二种方法是File >> Settings >>  Project >> Project Interpreter >> 右侧+ >> 搜索pytest >> Install Package(注意:一定不要勾选Install to user's site packages directory) 

    二、pytest测试用例的编写

      ①测试用例模块必须是以test_开头(test_*.py)或者以_test结尾(*_test.py)的py文件,同一个项目中最好统一,建议使用test_开头;

      ②测试函数必须以test_开头;

      ③测试用例如果写在类下面,类名称以Test开头。

      换言之,

      pytest搜集测试用例遵循以下规则:

      ①命名规则符合test_*.py或*_test.py文件下的以test_开头的函数;

      ②以Test开头命名的类下的以test_开头的方法。

      

    三、pytest 收集用例

      一定要在指定的目录下运行pytest,pytest收集用例有以下几种途径:

      1、命令行运行,收集指定目录下的所有用例:打开terminal终端,进入指定目录,输入pytest,如:

      

      2、命令行运行,收集指定模块下的用例:打开terminal终端,进入指定目录,输入pytest + 模块名称,如:

      

      3、文件内(代码最后的顶格空白行)右击"Run pytest in",收集指定模块下的用例:

        第一步,设置默认的测试运行器为pytest,File >> Setting >> Tools >> Python Integrated Tools >> Testing设置Default test runner为pytest;

      

        第二步,点击菜单栏Run,选择Run并点击,再选择pytest in(后续可以直接文件内右击选择Run pytest in...,如果未出现,重启Pycharm )。若要将右击设回默认的Run,点击菜单栏,选择Run并点击,再选择当前文件名,重启pycharm即可。

      

       4、通过程序pytest.main()方法来收集并运行用例,在模块中导入pytest,运行pytest.main()方法,即可收集当前模块所在的目录下的所有测试用例,如下图所示,在run_test.py模块下运行main()方法后,可以收集到同一目录下test_login模块的用例。

       

     四、pytest生成测试报告

       pytest支持生成多种格式的测试报告。

      通过pytest-html生成HTML格式的测试报告:

        首先安装pytest-html扩展,两种方法:方法一,terminal命令行输入pip install pytest-html命令;方法二,File >> Settings >>  Project >> Project Interpreter >> 右侧+ >> 搜索pytest-html >> Install Package(注意:一定不要勾选Install to user's site packages directory) 。

        然后使用"--html=测试报告路径+报告名”生成测试报告,可以在命令行输入pytest --html=文件路径+文件名称,或者是在main()方法中指定报告存储位置。

       

     五、pytest 测试用例筛选和管理

      在用例的上方加上@pytest.mark.标签名称(装饰器),运行时指定标签,可以实现测试用例的灵活筛选和管理(使用pytest的装饰器功能,需要引入pytest包)。如,冒烟测试,可以在主流程的测试用例上方标记@pytest.mark.smoke,命令行输入pytest -m "smoke",pytest测试框架将仅运行含有指定smoke标签的用例。

      注意:自定义的标签名称,需要在pytest.ini配置文件中进行注册。pytest配置文件仅支持ini格式(文件名称固定为pytest.ini),section必须设置为pytest,键名称为markers, 值为需要注册的标签名称,如果有多个标签,换行表示。

      

      

       

  • 相关阅读:
    CF1438C Engineer Artem
    Python小程序:向SecureCRT发送命令
    PyInstaller,可将py脚本转换为exe
    在Virtual Box上安装linux系统,启动SSH服务
    Python介绍
    Git使用入门
    字符编码介绍
    适配器模式Adapter、外观模式Facade-- 学习HeadFirst设计模式记录
    复合模式Compound -- 学习HeadFirst设计模式记录
    代理模式Proxy-- 学习HeadFirst设计模式记录
  • 原文地址:https://www.cnblogs.com/purelavender/p/14247771.html
Copyright © 2011-2022 走看看