• Pytest系列(一)初次了解


    在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列。

     pytest是一个非常成熟的全功能的Python测试框架。那么他有什么优点呢。

    pytest优点
    入门简单,文档丰富
    支持单元测试,功能测试
    支持参数化,重复执行,部分执行,测试跳过
    兼容其他测试框架(nose,unittest 等)
    支持生成html报告
    可集成CI环境(Jenkins 等)
    第三方插件丰富,良好的自定义扩展性
    

       那么我们对比下它与unittest。

    (1)unittest
    测试文件必须先 import unittest
    测试类必须继承unittest.TestCase
    测试方法必须以“test_”开头
    测试类必须要有unittest.main()方法
    unittest只有setup/teardown装载测试用例
    (2)pytest
    测试文件名必须以“test_”开头
    测试类以Test开头,并且不能带有 init 方法
    测试方法必须以“test_”开头
    除了有setup/teardown,还能更自由的定义fixture装载测试用例

      那么我们看下它支持的python

    Python支持版本: Python 2.6,2.7,3.3+支持的平台: Unix/mac and WindowsPyPI包名: pytest

              如何安装,很简单

    pip install -U pytest

            安装完毕后

     我们可以在安装的时候,看到它的版本,也可以使用

    pytest --version
    

      查看版本

    如何快速写一个pytest用例呢,很简单

    def add(a:int,b:int):
        return a+b
    def test_answer():
        assert add(3,4) == 7

        执行下

    pytest py_test_one.py

      结果如下

    用例执行通过,如果用例失败呢?

    def add(a:int,b:int):
        return a+b
    def test_answer():
        assert add(3,4) == 8

      测试失败输出

     

      一个简单的小的入门的demo就完成了。

    文章首发在公众号上,欢迎关注

  • 相关阅读:
    ELK原理以及一些处理难点分析
    mysql无法启动,Error: page 13476 log sequence number
    Linux lsattr命令
    mysql主从复制案例及小结
    Nagios
    iptables路由转发及控制
    DNS域名解析
    无法启动Print Spooler服务,错误代码1068,依赖服务或组件
    云计算虚拟化知识
    文件上传漏洞
  • 原文地址:https://www.cnblogs.com/leiziv5/p/16133371.html
Copyright © 2020-2023  润新知