Pytest框架测试用例规则和运行方式

简介: Pytest框架测试用例规则:模块名:必须以 test_开头 或者 _test结尾;测试类:必须以 Test开头,并且不能有init方法;测试方法:必须以 test开头。Pytest框架测试运行模式:主函数模式、命令行模式、通过读取配置文件pytest.ini运行。。。

目录

一、默认的测试用例规则

二、测试用例执行顺序

三、测试用例运行方式

3.1.主函数模式

3.1.1.主函数模式:4种运行方式

3.1.2.文件框架如下图

3.2.命令行模式

3.2.1.命令行模式:4种运行方式

3.2.2.第2种运行方式框架

3.3.通过读取配置文件pytest.ini运行

3.3.1.pytest.ini 文件注意事项

3.3.2.pytest.ini 文件释义

3.3.3.pytest.ini文件源码


一、默认的测试用例规则

1.1.模块名【test_login】:必须以 test_开头 或者 _test结尾

1.2.测试类【Testlogin】:必须以 Test开头,并且不能有init方法

1.3.测试方法【test_01_baili】:必须以 test开头

1.4.所有的包 package 必须要有__init__.py 文件


image.gif编辑

二、测试用例执行顺序

unittest:按ASCII码的大小来绝对的执行顺序

pytest:默认从上到下

改变用例默认的执行顺序:使用mark标记

三、测试用例运行方式

运行参数含义详情见:Pytest框架运行常用参数解析_沫沫18S的博客-CSDN博客

3.1.主函数模式

if __name__ == '__main__':
    pytest.main(['-vs','-m smoke','test_01_baili'])

image.gif

3.1.1.主函数模式:4种运行方式

#1.运行所有

pytest.main()

#2.指定模块[文件]

pytest.main(['-vs','test_login.py'])

#3.指定目录文件夹

pytest.main(['-vs','./interface_testcase'])

#4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

  执行函数:无类名

pytest.main(['-vs', './interface_testcase/test_interface.py::test_01_func'])

  执行方法

pytest.main(['-vs', './interface_testcase/test_interface.py::TestInterface::test_01'])

3.1.2.文件框架如下图

image.gif编辑

3.2.命令行模式

3.2.1.命令行模式:4种运行方式

#1.运行所有文件:

pytest

#2.执行某个文件的【冒烟】用例;-m后也可以使用表达式,在标记之间添加and,or,not关键字

pytest -vs test_login.py

pytest -v -m smoke test_login.py

#3.指定目录文件夹

pytest -vs ./interface_testcase

#4.指定目录文件夹2;通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

  执行函数:无类名

pytest -vs ./interface_testcase/test_interface.py::test_01_func

  执行方法

pytest -vs ./interface_testcase/test_interface.py::TestInterface::test_01

3.2.2.第2种运行方式框架

image.gif编辑

备注:第4种运行方式框架,同主函数模式的

3.3.通过读取配置文件pytest.ini运行

3.3.1.pytest.ini 文件注意事项

pytest.ini 一般在企业自动化测试落地中使用的方式,也是pytest单元测试框架的核心配置文件

    1. 位置:一般放在项目的根目录;
    2. 名字:必须是 pytest.ini
    3. 编码格式:必须是 ANSI,可以使用notpad++修改编码格式
    4. 作用:可以改变pytest默认的测试用例规则
    5. 运行规则:不管是主函数的模式运行,命令行模式运行,都会去读取pytest.ini这个配置文件image.gif编辑

    3.3.2.pytest.ini 文件释义

    注意:含中文执行时会报错 ,去掉所有中文后,可以使用notpad++修改编码格式

    image.gif编辑

    3.3.3.pytest.ini文件源码

    [pytest]
    addopts = -vs -m "smkoe"
    testpaths = ./testcase/
    python_files = test_*.py
    python_classes = test*
    python_functions = test

    image.gif

    备注:修改【pytest.ini文件源码 】模块名、类名、方法名的命名规则,对应模块、类、方法的名字也需要跟着pytest.ini的规则修改

    目录
    相关文章
    |
    20天前
    |
    SQL JavaScript 前端开发
    基于Python访问Hive的pytest测试代码实现
    根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
    49 6
    基于Python访问Hive的pytest测试代码实现
    |
    21天前
    |
    测试技术
    软件测试用例设计之微信群抢红包经典用例
    作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
    36 5
    软件测试用例设计之微信群抢红包经典用例
    |
    21天前
    |
    数据可视化 数据管理 测试技术
    聊聊自动化测试框架
    关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
    25 4
    聊聊自动化测试框架
    |
    17天前
    |
    敏捷开发 IDE 测试技术
    自动化测试框架的选择与应用
    【9月更文挑战第16天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的流行,自动化测试成为提升软件质量和效率的关键手段。本文将探讨如何根据项目需求选择合适的自动化测试框架,并通过实际案例分析展示其在软件开发过程中的应用。我们将从单元测试、集成测试到端到端测试等多个层面,讨论自动化测试的最佳实践和常见问题解决策略。
    |
    6天前
    |
    敏捷开发 Java 测试技术
    自动化测试框架的选择与应用
    【9月更文挑战第26天】在软件开发的海洋里,自动化测试是那一盏指路明灯。它不仅加快了开发周期,还提升了软件质量。本文将带你探索自动化测试框架的世界,了解它们的核心特性、适用场景及如何根据项目需求做出明智选择。让我们一起启航,找到那把打开高效、稳定软件生产大门的钥匙。
    |
    6天前
    |
    人工智能 测试技术 Python
    基于 LangChain 的自动化测试用例的生成与执行
    本章节详细介绍了如何利用人工智能技术自动化完成Web、App及接口测试用例的生成与执行过程,避免了手动粘贴和调整测试用例的繁琐操作。通过封装工具包与Agent,不仅提升了测试效率,还实现了从生成到执行的一体化流程。应用价值在于显著节省时间并提高测试自动化水平。
    22 1
    |
    7天前
    |
    敏捷开发 数据管理 测试技术
    自动化测试框架的设计与实现
    【9月更文挑战第25天】 本文将引导读者深入理解自动化测试框架的核心概念,并展示如何从零开始构建一个简单且有效的自动化测试框架。通过通俗易懂的语言和实际代码示例,我们将探讨测试框架设计的关键步骤、实现方法以及常见问题的解决方案。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和启示。
    |
    9天前
    |
    设计模式 SQL 安全
    PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
    在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
    |
    14天前
    |
    测试技术
    基于LangChain手工测试用例转App自动化测试生成工具
    在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
    27 4
    |
    28天前
    |
    存储 Java 关系型数据库
    “代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
    【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
    50 4
    下一篇
    无影云桌面