《Python从入门到实践》第十一章 测试代码

本文介绍了如何使用pip安装pytest,以及如何编写和运行单元测试,包括测试用例的编写规则、断言的使用、测试类的测试方法,以及如何利用夹具简化测试过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用pip安装pytest

第三方包指的是独立于Python核心的库

更新pip

python -m pip install --upgrade pip

安装pytest

python -m pip install --user pytest

如果在执行这个命令时遇到麻烦, 可以尝试:

python -m pip install pytest

以上安装及更新均在cmd中输入完成

单元测试和测试用例

一种最简单的测试是单元测试,用于合适函数的某个方面没有问题。

测试用例是一组单元测试,这些单元测试一道合适函数在各种情况下的行为都符合要求。良好的测试用例考虑到了函数可能收到的各种输入,包含针对所有这些情况的测试。

全覆盖测试用例包含一整套单元测试,涵盖了各种可能的函数使用方式。对于大型项目,要进行全覆盖测试可能很难。

可通过的测试

使用pytest进行测试,会让单元测试编写起来非常简单。我们将编写一个测试函数,它会调用要测试的函数,并做出有关返回值的断言。如果断言正确,表示测试通过;如果断言不正确,表示测试未通过。

name_function.py

def get_formatted_name(first, last):
    """生成规范的名字"""
    full_name = f"{first} {last}"
    return full_name.title()

test_name_function.py

from name_function import get_formatted_name


def test_first_last_name():
    """能够正确处理像Janis Joplin 这样的名字吗"""
    formatted_name = get_formatted_name('janis', 'joplin')
    assert formatted_name == 'Janis Joplin'

测试文件的名称很重要,必须以test_打头。当你让pytest运行测试时,它将查找以test_打头的文件,并运行其中的所有测试。

测试函数必须以test_打头,在测试过程中,pytest将找出并运行所有以test_打头的函数,此外,测试函数的名称应该比典型的函数名更长,更具描述性。

assert表示断言,断言就是声称满足特定的条件

运行测试

如果直接运行文件test_name_function.py,将不会有任何输出,因为我们没有调用这个测试函数。相反,应该让pytest替我们运行这个测试文件。

为此,打开一个终端窗口,pycharm为Alt+F12,在终端窗口执行命令pytest

tip:如果不知道如何在终端窗口中切换到正确的文件夹,请参阅1.5节。另外,如果出现一条消息,提示没有找到命令pytest,请执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值