python+pytest单元测试框架之介绍

简介: 前言pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。

前言

pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序,让我们很方便的编写测试用例。适合从简单的单元到复杂的功能测试。有很多的第三方插件可以自定义扩展,并且支持allure。

一、pytest介绍

pytest官方文档

1.能够支持简单的单元测试和复杂的功能测试

2.执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败

3.支持重复执行失败的case

4.支持运行由nose, unittest编写的测试case

5.具有很多第三方插件,并且可以自定义扩展

6.方便的和持续集成工具集成

7.支持参数化

二、安装pytest

1.在CMD窗口下输入以下指令

>pip install -U pytest  # 通过pip安装

>py.test --version        # 查看pytest版本

2.安装插件

pytest-html(自动生成HTML格式测试报告)

pytest-describe(给测试用例一个美丽的名字)

pytest-autochecklog(不只是自动生成测试日志)-安装此之前先安装PyYAML------以上插件均在python3.4.4下通过pip工具安装

img_149b376c7cfbea1259745bfaf23d36af.png
成功安装pytest

三、在pycharm配置pytest并运行程序

File -> Settings... -> Tools -> Python Integrated Tools

img_af5f9c0d7b251c78aac6601141bbaf31.png
配置pytest

四、简单实例

1.根据官方文档得来

在pycharm中创建文件夹名为pytest,在该文件下创建命名为test_sample.py脚本文件,然后输入如下程序,在pycharm底部的Terminal中输入指令进入当前目录下:D:\work\test_sample>,然后执行指令:py.test  test_sample.py

#coding:utf-8

def func(x):

    return x +1

def test_func():

    assert func(3) ==5

2.运行结果

img_41e72459d51c8c4bb7809a4dcc29b3bb.png
运行结果

五、pytest测试样例规范

1.测试文件以test_开头(以_test结尾也可以)

2.测试类以Test开头,并且不能带有 __init__ 方法

3.测试函数以test_开头

4.断言使用基本的assert即可

下节,将讲解怎样通过pytest规范来运行多个测试用例文件。。。欢迎大家共同学习

目录
相关文章
|
12天前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
34 2
|
8天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
26 6
基于Python访问Hive的pytest测试代码实现
|
9天前
|
数据可视化 数据管理 测试技术
聊聊自动化测试框架
关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
21 4
聊聊自动化测试框架
|
4天前
|
敏捷开发 IDE 测试技术
自动化测试框架的选择与应用
【9月更文挑战第16天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的流行,自动化测试成为提升软件质量和效率的关键手段。本文将探讨如何根据项目需求选择合适的自动化测试框架,并通过实际案例分析展示其在软件开发过程中的应用。我们将从单元测试、集成测试到端到端测试等多个层面,讨论自动化测试的最佳实践和常见问题解决策略。
|
11天前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
16天前
|
测试技术 API Python
python在自动化测试中的经典例子
python在自动化测试中的经典例子
25 12
|
11天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
28 2
|
15天前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
33 4
|
16天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
42 5
|
13天前
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1>2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
42 1