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规范来运行多个测试用例文件。。。欢迎大家共同学习

目录
相关文章
|
2天前
|
测试技术 Python
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
|
2天前
|
Java 测试技术 数据处理
Java一分钟之-TestNG:高级测试框架
【6月更文挑战第4天】TestNG是Java的高级测试框架,扩展了JUnit,支持数据驱动、参数化、测试分组、依赖和并行测试,提高自动化测试效率。本文介绍了TestNG的核心特性,如`@DataProvider`和`@Parameters`注解,以及常见问题和解决策略,如正确使用测试生命周期方法和处理数据驱动测试中的数据。通过示例展示了如何进行数据驱动测试,帮助读者更好地理解和应用TestNG。
21 0
Java一分钟之-TestNG:高级测试框架
|
3天前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
3天前
|
Java 测试技术
Java一分钟之-JUnit测试框架:断言与测试套件
【6月更文挑战第3天】本文介绍了JUnit在Java单元测试中的应用,包括断言基础如`assertEquals`、`assertTrue`等,用于验证代码预期结果;利用`@Suite`创建测试套件以组合多个测试;并讨论了常见问题及解决方法,如忽略测试、错误断言、异常处理和保持测试简洁。理解并熟练运用这些概念能提升测试代码的质量和效率。
24 2
|
6天前
|
敏捷开发 Java 测试技术
深入理解自动化测试框架Selenium的设计理念与最佳实践
【5月更文挑战第31天】 在现代软件开发过程中,自动化测试是确保产品质量和加快交付速度的关键因素。Selenium作为一种广泛使用的自动化测试框架,它支持多种浏览器、操作系统和编程语言,极大地方便了测试人员编写和维护测试用例。本文将探讨Selenium的核心设计理念,包括其架构、组件和工作流程,并分享如何在实际项目中应用Selenium的最佳实践,以提高测试效率和准确性。通过分析真实案例,我们将展示Selenium如何帮助企业实现持续集成和持续部署(CI/CD)的目标,同时保证软件的稳定性和可靠性。
|
6天前
|
设计模式 敏捷开发 监控
深入理解自动化测试框架的设计原则与实践
【5月更文挑战第31天】 在软件开发的复杂多变环境中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将探讨自动化测试框架的设计原则,并结合实际案例分析如何构建一个高效、可扩展且易于维护的自动化测试框架。我们将透过不同的测试场景,从模块化、抽象化到数据驱动等设计模式,剖析框架构建的最佳实践。通过阅读本文,读者能够获得构建强大自动化测试框架的深刻见解,并应用于实际工作中,以提升软件测试效率和准确性。
4 0
|
7天前
|
机器学习/深度学习 敏捷开发 人工智能
深入理解软件测试中的自动化框架选择
【5月更文挑战第30天】 在快速迭代的软件开发过程中,高效的测试策略是确保产品质量的关键。本文将探讨自动化测试框架的选择对软件测试效率和质量的影响。通过分析不同类型项目的需求与特点,我们讨论如何根据团队的技术栈、项目周期和资源情况来选取合适的自动化测试框架。文章还将涉及持续集成环境下自动化测试框架的最佳实践,以及新兴测试技术对现有框架选择的潜在影响。
|
7天前
|
IDE Java 测试技术
Java中JUnit等测试框架的使用
Java中JUnit等测试框架的使用
|
7天前
|
敏捷开发 自然语言处理 JavaScript
探索自动化测试框架的选择标准与实践应用
【5月更文挑战第30天】 在软件开发的复杂多变环境中,自动化测试已成为确保产品质量和加快上市速度的关键。本文深入探讨了选择自动化测试框架时需考虑的标准,并通过具体案例分析如何在项目中成功实施。我们将覆盖框架选择过程中的性能、可靠性、易用性及可维护性四个核心要素,并结合业界最佳实践,提出一套实用的框架评估与应用流程。
|
7天前
|
Dart 前端开发 测试技术
移动应用开发的未来:跨平台框架与原生系统的融合深入理解软件测试中的持续集成与持续部署(CI/CD)
【5月更文挑战第30天】 在本文中,我们将深入探讨移动应用开发领域的最新趋势:跨平台开发框架与原生操作系统的融合。随着移动设备成为日常生活的核心,高效、灵活且性能卓越的应用程序需求日益增长。文章分析了当前主流的跨平台工具如React Native和Flutter,并探讨了它们如何与iOS和Android等原生系统相互作用,以及这种融合对开发者、用户和整个移动生态系统意味着什么。我们还将预测未来可能的技术发展,并提出相应的策略建议。