Python教程之pytest命令行方式运行用例

Python教程之pytest命令行方式运行用例

什么是pytest

pytest是Python中一个全功能的测试框架。它能够使得测试变得简单易用、可读性强。pytest支持不同范围测试(单元测试、功能测试等),使用起来也比较容易。

安装pytest

在安装pytest前,需要保证已经安装了python。

安装pytest的方式有多种,这里介绍最常用的几种:

  1. 使用pip方式安装
pip install pytest
  1. 下载源代码,解压后进行安装

首先,需要从pytest官网下载pytest源代码。下载完成后,在安装目录下执行以下命令:

python setup.py install

运行pytest

运行pytest有两种方式:

  1. 使用pytest命令行运行

运行指定的测试文件:

pytest test_sample.py

运行指定的测试函数:

pytest test_sample.py::test_demo
  1. 使用pytest程序运行

在python文件中使用pytest程序运行:

import pytest

def func(x):
    return x + 1

def test_answer():
    assert func(3) == 5

if __name__ == '__main__':
    pytest.main(["-q", "test_sample.py"])

pytest命令行运行用例示例1

新建一个测试用例文件test_addition.py,代码如下:

def add_numbers(x, y):
    return x + y


def test_add_numbers():
    assert add_numbers(2,3) == 5

运行测试用例文件:

pytest test_addition.py

运行结果如下:

=============================== test session starts ==================================
platform win32 -- Python 3.9.1, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
rootdir: D:\demo\pytest
collected 1 item

test_addition.py .                                                              [100%]

=============================== 1 passed in 0.03s ===================================

可以看到,测试用例运行成功,通过了单元测试。

pytest命令行运行用例示例2

新建一个测试用例文件test_subtraction.py,代码如下:

def subtract_numbers(x, y):
    return x - y


def test_subtract_numbers():
    assert subtract_numbers(2,3) == -1

运行测试用例文件:

pytest test_subtraction.py

运行结果如下:

=============================== test session starts ==================================
platform win32 -- Python 3.9.1, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
rootdir: D:\demo\pytest
collected 1 item

test_subtraction.py F                                                           [100%]

=================================== FAILURES ===================================
_________________________________ test_subtract_numbers _____________________________

    def test_subtract_numbers():
>       assert subtract_numbers(2,3) == -1
E       assert -1 == -1
E        +  where -1 = subtract_numbers(2, 3)

test_subtraction.py:6: AssertionError
============================= short test summary info ==============================
FAILED test_subtraction.py::test_subtract_numbers - assert -1 == -1
=============================== 1 failed in 0.05s ===================================

可以看到,测试用例运行失败,返回了错误信息,测试未通过。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python教程之pytest命令行方式运行用例 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Java基于栈方式解决汉诺塔问题实例【递归与非递归算法】

    Java基于栈方式解决汉诺塔问题实例【递归与非递归算法】 算法介绍 汉诺塔问题是经典的递归算法示例。简单来说,汉诺塔问题是将一堆盘子从源柱子移动到目标柱子,可以借助第三个柱子,且每次只能移动一个较小的盘子到目标柱子上。其中,要求大的盘子必须在小的盘子之下。 为了解决汉诺塔问题,我们需要使用递归算法或非递归算法。其中,递归算法简单易懂,但是算法时间效率低,可能…

    other 2023年6月27日
    00
  • Gitlab CI-CD自动化部署SpringBoot项目的方法步骤

    下面是Gitlab CI-CD自动化部署SpringBoot项目的方法步骤的完整攻略: 1. 搭建基础环境 在开始之前,需要确定一个服务器或者主机用于进行代码的自动化构建和部署。服务器需要安装以下软件: Gitlab:用于托管代码和CI-CD流程 JDK:用于编译和运行SpringBoot项目 Maven:用于管理和构建项目依赖 Docker:用于打包和运行…

    other 2023年6月27日
    00
  • Win11 exe应用程序打不开怎么办?Win11无法打开exe程序解决方法

    Win11是Windows操作系统的新版本,一些用户在使用Win11操作系统时可能会遇到exe应用程序打不开的问题。在Win11无法打开exe程序时,需要根据具体情况进行排查。以下是解决Win11 exe应用程序打不开的方法。 方法一:检查杀毒软件是否拦截 部分杀毒软件会将某些exe程序识别为病毒或威胁,从而阻止exe程序运行。当遇到Win11无法打开exe…

    other 2023年6月25日
    00
  • getrunningtasks在androidl中不起作用

    以下是关于“getrunningtasks在Android L中不起作用”的完整攻略,包含两个示例。 getRunningTasks在Android L中不起作用 在Android L中,getTasks方法已经被废弃,不再起作用。这是因为Android L中引了新的权限模型,应用程序不能再访问应用程序的任务列表。因此,如果您的应用程序需要获取正在运行的任务…

    other 2023年5月9日
    00
  • 鼠标右键锁定的解决方法

    鼠标右键锁定的解决方法完整攻略 问题描述 有些电脑用户使用鼠标时经常会遇到鼠标右键锁定的情况,无论点击多少次鼠标右键都无法激活。这种情况下,我们需要采取相应的解决方法。 解决方法 下面列举了几种常用的鼠标右键锁定的解决方法: 1. 通过控制面板解决 打开电脑的控制面板。 找到“鼠标”选项并点击进入。 在“鼠标属性”窗口中,选择“按钮”标签页。 在“按钮配置”…

    other 2023年6月27日
    00
  • monkey基本命令及脚本编写

    以下是“monkey基本命令及脚本编写”的完整攻略: monkey基本命令及脚本编写 Monkey是一款Android平台上的压力测试工具,可以拟用户在设备上执行各种操作,以测试应用程序的稳定性和性能。本攻略中,我们将重点介绍Monkey本命令及脚本编写。 基本命令 1. 运行Monkey 要运行Monkey,请命令行中输入以下命令: adb shell m…

    other 2023年5月7日
    00
  • QT中出现“无法解析的外部符号”错误

    QT中出现“无法解析的外部符号”错误 在使用QT进行开发时,可能会遇到一些错误,其中”无法解析的外部符号”是比较常见的错误之一。这种错误通常会在编译或链接过程中出现,导致程序无法正常工作。在本文中,我们将深入探讨该错误的原因和解决方法。 原因 QT中的“无法解析的外部符号”错误通常是由于以下原因之一导致的: 忘记 include 头文件 当使用某个类或函数时…

    其他 2023年3月28日
    00
  • sass变量

    Sass变量完整攻略 Sass是一种CSS预处理器,它提供了一套完整的CSS扩展语言,包括变量、嵌套、混合、继承等功能。本文将提供一个完整攻略,介Sass量的含义、使用方法和注意事项,并提供两个示例说明。 Sass变量的含义 Sass变量是一用于存CSS属性值的标识符,可以在CSS样式表中多次使用。使用Sass变量可以提高CSS代码的可维护和可重用,同时也可…

    other 2023年5月8日
    00
合作推广
合作推广
分享本页
返回顶部