如何用pytest进行Python自动化测试?

1067 篇文章 0 订阅
1042 篇文章 3 订阅

引言:

在现代软件开发中,自动化测试是一个不可或缺的环节,它可以帮助我们提高代码质量、减少错误,并提供持续集成和持续交付的支持。Python 作为一种广泛使用的编程语言,具有强大的测试框架 Pytest,本文将从零开始,详细描述如何使用 Pytest 进行 Python 的自动化测试。

1. 安装 Pytest:

首先,确保已经安装了 Python 环境。然后,通过以下命令安装 Pytest:

pip install pytest

2. 创建测试文件:

在项目根目录下创建一个名为 "tests" 的文件夹,并在该文件夹下创建一个名为 "test_example.py" 的文件。这将是我们的测试文件。

3. 编写第一个测试用例:

在 "test_example.py" 中,我们可以编写我们的第一个测试用例。一个简单的示例:

def test_addition():
    assert 2 + 2 == 4

这个测试用例检查 2 + 2 是否等于 4,如果条件为真,则测试通过。否则,测试将失败。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

4. 运行测试:

在命令行中,进入项目根目录,并运行以下命令:

pytest

Pytest 将自动发现和运行所有以 "test_" 开头的测试用例函数。我们可以看到测试结果的汇总,包括通过的测试用例数量、失败的测试用例数量以及详细的错误信息。

5. 参数化测试:

Pytest 还支持参数化测试,可以通过一次定义多个输入和预期输出来测试同一个函数。例如:

import pytest

@pytest.mark.parametrize("input1, input2, expected", [
    (2, 2, 4),
    (3, 5, 8),
    (10, -5, 5)
])
def test_addition(input1, input2, expected):
    assert input1 + input2 == expected

在这个示例中,我们定义了三组输入和对应的预期输出。Pytest 将自动运行这三组测试用例,并给出汇总结果。

6. 使用测试夹具:

测试夹具是一种在测试函数执行前后执行的代码片段,可以用来构建测试环境、准备测试数据等。例如:

import pytest

@pytest.fixture
def setup():
    # 设置测试环境的代码

def test_function(setup):
    # 测试函数的代码

在这个示例中,我们定义了一个名为 "setup" 的夹具函数,在测试函数执行前会先执行这个夹具函数。

7. 异常断言:

有时我们需要测试某个函数是否会引发异常。我们可以使用 Pytest 的 "raises" 参数来实现异常断言。例如:

import pytest

def test_division_by_zero():
    with pytest.raises(ZeroDivisionError):
        1 / 0

在这个示例中,我们测试了除以零会引发 "ZeroDivisionError" 异常。

结论:

本文详细介绍了如何使用 Pytest 进行 Python 自动化测试。我们从安装 Pytest 开始,创建测试文件,编写测试用例,参数化测试,使用测试夹具和异常断言等方面进行了介绍。希望读者可以通过本文的指导,轻松上手 Pytest,并享受自动化测试带来的便利和效益!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

史上最全软件测试自学资料大全(学习路线+视频教程+文档资料+PDF面试文档)作为一个软件测试的过来人,小濠想尽自己最大的努力,帮助每一个伙伴都能顺利找到满意的工作。我花费了很多时间细心钻研,在收集了近 200G 干货、 1500份资料中精心筛选出来了这份「软件测试资料包」。你只需要花很少的时间就能快速地https://mp.weixin.qq.com/s?__biz=Mzk0OTI0ODM2Mg==&mid=2247489248&idx=1&sn=3d7dbe28d58e5147c409c7e5f059d8ea&chksm=c35a1ee5f42d97f397fd420ce40f72b60195d4ffb42c34f61300463711347815f2e5656defa4&token=1425287504&lang=zh_CN#rdicon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0OTI0ODM2Mg==&mid=2247489248&idx=1&sn=3d7dbe28d58e5147c409c7e5f059d8ea&chksm=c35a1ee5f42d97f397fd420ce40f72b60195d4ffb42c34f61300463711347815f2e5656defa4&token=1425287504&lang=zh_CN#rd最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值