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

yizhihongxing

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日

相关文章

  • webpackhmr

    Webpack HMR的完整攻略 Webpack HMR(Hot Module Replacement)是Webpack提供的一种热更新机制,可以在不刷新页面的情况下更新模块。以下是Webpack HMR的完整攻略,包含两个示例说明。 步骤一:安装Webpack和Webpack Dev Server 在使用Webpack HMR之前,您需要安装Webpack…

    other 2023年5月9日
    00
  • android上superuser获取root权限原理解析

    Android上Superuser获取Root权限原理解析 什么是Superuser? 在Android系统中,有些应用程序需要获取Root权限才能够执行一些敏感操作,比如修改系统设置、进入系统目录等等。Superuser就是一种允许应用程序获取Root权限的工具。 当安装Superuser后,用户可以决定哪些应用程序可以访问Root权限,哪些应用程序被禁止…

    其他 2023年3月28日
    00
  • Javascript 高性能之递归,迭代,查表法详解及实例

    Javascript 高性能之递归,迭代,查表法详解及实例 递归 递归是一种通过反复将问题分解成更小的问题来解决问题的方法。在 Javascript 中,递归通常用于处理树状结构或者需要反复处理的问题。 以下是一个简单的递归示例,用于计算阶乘: function factorial(n) { if (n <= 1) { return 1; } else…

    other 2023年6月27日
    00
  • 等待资源时检测到死锁

    等待资源时检测到死锁 在进行资源的请求和分配时,发生死锁是一个常见的情况。死锁是指两个或更多进程(线程)无限期地等待一个永远不会被释放的资源,而没有任何进展的情况。死锁会导致系统资源的浪费,以及进程(线程)永远无法完成任务,从而影响整个系统的运行。因此,在进行资源的请求和分配时,需要采取措施来避免死锁的发生。 在等待资源时检测到死锁可能是一种避免死锁的方法。…

    其他 2023年3月29日
    00
  • Windows Azure 网站上的 WebSocket 简介

    Windows Azure 网站上的 WebSocket 简介的完整攻略 WebSocket是一种在Web浏览器和服务器之间进行双向通信的技术。它允许服务器主动向客户端发送消息,而不需要客户端发起请求。本文将提供Windows Azure网站上的WebSocket简介的完整攻略,包括以下内容: WebSocket的基本概念 Windows Azure网站上的…

    other 2023年5月6日
    00
  • 多线程CSerialPort类的多串口通信实现

    多线程CSerialPort类的多串口通信实现 介绍 本文将介绍如何使用CSerialPort类实现多串口通信,并使用多线程提高程序性能。 CSerialPort类 CSerialPort类是一个实现了Windows串口通信的类。它封装了Windows的一些API,使得串口通信变得更加容易。以下是CSerialPort类的一些方法和属性: Open: 打开串…

    其他 2023年3月28日
    00
  • 什么是unqualified-id

    什么是unqualified-id 在C++中,unqualified-id是指在程序中出现的名称或标识符,可以是变量、函数、结构体、类等。 在C++标准中,unqualified-id在语法上是一个终结符,可以在语句中通过具体的语法结构进行定义。 下面是一些常见的unqualified-id的例子: 变量:可以是一个标识符,也可以是一个类的成员变量。例如,…

    其他 2023年3月28日
    00
  • word2016替换文字时怎么区分大小写?

    当使用Word 2016替换文字时,可以通过以下步骤区分大小写: 打开Word 2016并打开要编辑的文档。 点击顶部菜单栏中的“编辑”选项。 在下拉菜单中选择“查找”选项,或者使用快捷键Ctrl + F打开查找对话框。 在查找对话框中,输入要查找的文字,并点击“查找下一个”按钮。 如果要区分大小写,点击查找对话框中的“更多”按钮。 在弹出的更多选项中,勾选…

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