《pytest 测试实战》读书笔记1

本文是《pytest 测试实战》的第一章,介绍了 pytest 的安装、运行测试用例、使用命令行选项等基础知识。通过示例展示了如何运行单个测试用例,以及如何利用标记、选项进行测试筛选和控制输出。最后,提供了练习,引导读者创建虚拟环境并编写测试文件。

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

第 1 章 pytest 入门

首先来看两个非常简单的测试用例来感受一下 pytest 的优点。
首先是一个成功的测试用例:

# F:\pytest\tesy_one.py

def test_passing():
    assert (1,2,3)==(1,2,3)

在保存这个测试用例的文件夹下打开命令行,分别执行以下两条命令运行测试用例:

pytest test_one.py
pytest -v test_one.py(-v可以查看细节)

在这里插入图片描述
那么,再看一个失败的测试用例:

# F:\pytest\test_two.py

def test_passing():
    assert (1,2,3)==(3,2,1)

测试结果:
在这里插入图片描述
红色字体给出了出错的信息,At index 0 diff:1!=3,下面用 -v 查看完整信息:
在这里插入图片描述
在使用 -v 命令后,可以看到,pytest 添加了脱字符(^),来指出 assert 语句前后的区别。
接下来进入正文。

1.1 安装 pytest

打开命令行,使用 pip install pytest 命令。
在这里插入图片描述

1.2 运行 pytest

查看帮助文档:

pytest --help

如果不输入任何参数,只输入:

pytest

pytest 将在当前目录以及子目录下寻找测试文件,然后运行搜索到的测试代码:
在这里插入图片描述
如果提供一个或多个文件名、目录名,pytest 会逐个查找并运行所有测试。为了搜索到所有的测试代码,pytest 会递归遍历每个目录及其子目录。
首先在pytest目录下新建一个目录tasks,并创建两个测试用例test_three.py和test_four.py这两个测试文件。

# F:\pytest\tasks\test_three.py

"""Test the Task data type"""
from collections import namedtuple
Task = namedtuple('Task',['summary','owner','done','id'])
Task.__new__.__defaults__ = (None, None, False, None)

# 这个测试用例演示了默认值的校验
def test_defaults():
    "Using no parameters should invoke defaults."
    t1 = Task()
    t2 = Task(None, None, False, None)
    assert t1 == t2
 
# 这个测试用例演示了如何利用属性名(而不是索引)来访问对象成员
def test_member_access():
    """Check .filed functionality of namedtuple."""
    t = Task('buy milk', 'brian')
    assert t.summary == 'buy milk'
    assert t.owner == 'brian'
    assert (t.done, t.id) == (False, None)
# F:\pytest\tasks\test_four.py

"""Test the Task data type"""
from collections import namedtuple
Task = namedtuple('Task', ['summary', 'owner', '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值