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的规则修改

    目录
    相关文章
    |
    1天前
    |
    测试技术
    软件测试用例设计之微信群抢红包经典用例
    作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
    10 5
    软件测试用例设计之微信群抢红包经典用例
    |
    1天前
    |
    数据可视化 数据管理 测试技术
    聊聊自动化测试框架
    关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
    10 4
    聊聊自动化测试框架
    |
    7天前
    |
    存储 Java 关系型数据库
    “代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
    【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
    25 4
    |
    10天前
    |
    IDE 测试技术 持续交付
    Python自动化测试与单元测试框架:提升代码质量与效率
    【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
    35 5
    |
    12天前
    |
    测试技术 C# 图形学
    掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
    【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
    38 4
    |
    13天前
    |
    测试技术 C# 开发者
    “代码守护者:详解WPF开发中的单元测试策略与实践——从选择测试框架到编写模拟对象,全方位保障你的应用程序质量”
    【8月更文挑战第31天】单元测试是确保软件质量的关键实践,尤其在复杂的WPF应用中更为重要。通过为每个小模块编写独立测试用例,可以验证代码的功能正确性并在早期发现错误。本文将介绍如何在WPF项目中引入单元测试,并通过具体示例演示其实施过程。首先选择合适的测试框架如NUnit或xUnit.net,并利用Moq模拟框架隔离外部依赖。接着,通过一个简单的WPF应用程序示例,展示如何模拟`IUserRepository`接口并验证`MainViewModel`加载用户数据的正确性。这有助于确保代码质量和未来的重构与扩展。
    24 0
    |
    13天前
    |
    测试技术 Java Spring
    Spring 框架中的测试之道:揭秘单元测试与集成测试的双重保障,你的应用真的安全了吗?
    【8月更文挑战第31天】本文以问答形式深入探讨了Spring框架中的测试策略,包括单元测试与集成测试的有效编写方法,及其对提升代码质量和可靠性的重要性。通过具体示例,展示了如何使用`@MockBean`、`@SpringBootTest`等注解来进行服务和控制器的测试,同时介绍了Spring Boot提供的测试工具,如`@DataJpaTest`,以简化数据库测试流程。合理运用这些测试策略和工具,将助力开发者构建更为稳健的软件系统。
    22 0
    |
    13天前
    |
    API 开发者 Java
    API 版本控制不再难!Spring 框架带你玩转多样化的版本管理策略,轻松应对升级挑战!
    【8月更文挑战第31天】在开发RESTful服务时,为解决向后兼容性问题,常需进行API版本控制。本文以Spring框架为例,探讨四种版本控制策略:URL版本控制、请求头版本控制、查询参数版本控制及媒体类型版本控制,并提供示例代码。此外,还介绍了通过自定义注解与过滤器实现更灵活的版本控制方案,帮助开发者根据项目需求选择最适合的方法,确保API演化的管理和客户端使用的稳定与兼容。
    47 0
    |
    13天前
    |
    测试技术 持续交付 开发者
    Xamarin 高效移动应用测试最佳实践大揭秘,从框架选择到持续集成,让你的应用质量无敌!
    【8月更文挑战第31天】竞争激烈的移动应用市场,Xamarin 作为一款优秀的跨平台开发工具,提供了包括单元测试、集成测试及 UI 测试在内的全面测试方案。借助 Xamarin.UITest 框架,开发者能便捷地用 C# 编写测试案例,如登录功能测试;通过 Xamarin 模拟框架,则可在无需真实设备的情况下模拟各种环境测试应用表现;Xamarin.TestCloud 则支持在真实设备上执行自动化测试,确保应用兼容性。结合持续集成与部署策略,进一步提升测试效率与应用质量。掌握 Xamarin 的测试最佳实践,对确保应用稳定性和优化用户体验至关重要。
    26 0
    |
    13天前
    |
    jenkins 测试技术 持续交付
    自动化测试框架的构建与实践
    【8月更文挑战第31天】本文将引导你了解自动化测试框架的重要性,并深入浅出地展示如何搭建和实施一个有效的自动化测试环境。通过实际案例,我们将一起探索自动化测试的“魔力”,解锁软件质量保障的新技能。