conftest.py 是 pytest 框架中的一个特殊文件。它允许你为测试提供自定义的配置和钩子函数。以下是 conftest.py 的主要作用:

提供全局配置:你可以在 conftest.py 中定义全局的配置,然后在多个测试文件中重用这些配置。
定义钩子函数:钩子函数是 pytest 的一个重要特性,它允许你在测试的各个阶段插入自定义的逻辑。例如,你可以在 conftest.py 中定义一个钩子函数,以便在每个测试用例执行前后做一些自定义的操作。
动态修改测试:你可以根据 conftest.py 中的某些条件动态地选择要运行的测试用例或修改它们的参数。
插件和扩展:conftest.py 是 pytest 插件和扩展的理想位置。你可以在 conftest.py 中编写自定义的插件或扩展,以扩展 pytest 的功能。
控制测试环境:通过 conftest.py,你可以控制测试环境的设置和清理,例如设置环境变量、创建临时文件等。

conftest.py的作用域
在根目录创建conftest.py文件,作用范围为所有测试模块
在单独测试目录中创建conftest.py文件,作用范围为该目录
测试根目录和子目录中都有conftest.py文件,且存在同名fixture,则在子目录下的测试用例使用的是子目录conftest.py中的fixture
总结来说,conftest.py文件可以作用于同级以及以下的模块。

conftest.py的特点
conftest.py的文件名是固定的,不能修改
可以通过conftest.py实现共享fixture
conftest.py需要放到包内,即文件夹必须有__init__.py文件
conftest.py文件中的fixture和自定插件在使用时不需要import,pytest会自动查找

pytest框架中conftest.py的作用的更多相关文章

  1. Pytest框架中,conftest.py文件的作用?

    conftest.py文件,它主要是实现fixture共享的. 第一,conftest.py文件当中,它储存的都是fixture,就是给用例提供做前置准备工作和后置清理工作的一个东西: 第二,conf ...

  2. pytest进阶之conftest.py

    前言 前面几篇随笔基本上已经了解了pytest 命令使用,收集用例,finxture使用及作用范围,今天简单介绍一下conftest.py文件的作用和实际项目中如是使用此文件! 实例场景 首先们思考这 ...

  3. python模块中__init__.py的作用

    基本概念先上结论举例解释实验一:不包含__init__.py实验二:A中包含__init__.py实验三:A.A_A中也包含__init__.py进阶基本概念概念 解释import 即导入,方式就是在 ...

  4. python包中__init__.py的作用

    1.__init__.py定义包的属性和方法 一般为空文件,但是必须存在,没有__init__.py表明他所在的目录只是目录不是包 2.导入包的时候使用 例如有一个test目录,test下有xx1.p ...

  5. python中__init__.py的作用、module和package

    控制包的导入行为: 1.声明当前文件是一个可导入的包: 2.如果当下包下有多个.py文件使用__ all__ = [ '模块名'],也就是form XXX import YYY module和pack ...

  6. Spring框架中<mvc:default-servlet-handler/>的作用

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  7. Django框架中settings.py注释

    1 # coding:utf8 2 """ 3 Django settings for DjangoTest project. 4 5 Generated by 'dja ...

  8. 『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件

    目录 1.conftest.py文件介绍 2.conftest.py的注意事项 3.conftest.py的使用 4.不同位置conftest.py文件的优先级 5.conftest.py中Fixtu ...

  9. pytest框架之fixture前置和后置

    一.conftest.py 定义公共的fixture,多个测试类中都可以调用 pytest提供了conftest.py文件,可以将fixture定义在此文件中 运行测试用例时,不需要去导入这个文件,会 ...

  10. pytest框架增加log打印(包括pytest的执行结果、自定义的log信息)

    前言: 之前同事在跑脚本的时候报错了,发现没法把需要的log信息打印出来,我这边定位问题比较麻烦,所以增加了log的打印.这个问题之前已经处理过了,本来以为是小问题,结果今天又要用到这个小技巧的时候居 ...

随机推荐

  1. Python 搭建 FastAPI 项目

    一般网上的文章都是以脚本的方式写Demor的,没找到自己想要的那种项目结构型的示例(类似Java SpringBoot 创建 Model,通过 pom 进行关联配置的那种) 看了一些源码,再结合自己的 ...

  2. JAVA中三种I/O框架——BIO、NIO、AIO

    一.BIO(Blocking I/O) BIO,同步阻塞IO模型,应用程序发起系统调用后会一直等待数据的请求,直至内核从磁盘获取到数据并拷贝到用户空间: 在一般的场景中,多线程模型下的BIO是成本较低 ...

  3. 用go封装一下二级认证功能

    用go封装一下二级认证 本篇为用go设计开发一个自己的轻量级登录库/框架吧 - 秋玻 - 博客园 (cnblogs.com)的二级认证业务篇,会讲讲二级认证业务的实现,给库/框架增加新的功能. 源码: ...

  4. Go语言精进之路目录

    目录 一.介绍 01.Go 语言的前生今世 二.开发环境搭建 01.Go 语言开发环境搭建 三.初识GO语言 01.Go 多版本管理工具 02.第一个 Go 程序"hello,world&q ...

  5. WEB项目开发流程介绍

    web开发流程 web开发流程图 一.需求分析阶段 在需求分析阶段,即上图所述 "需求明确"之前的阶段 产品经理PM召集需要项目相关人员,开需求讨论会.讲解原型 相关人员需要以此了 ...

  6. 造轮子之ORM集成

    Dotnet的ORM千千万,还是喜欢用EF CORE 前面一些基础完成的差不多了,接下来可以集成数据库了,官方出品的ORM还是比较香.所以接下来就是来集成EF CORE. 安装包 首先我们需要安装一下 ...

  7. 【实操】Java+百度ocr,实现图片识别文字小工具

    前言 缘由 图片识别文字,咱用java也可以 通过java+百度ocr,实现一个截图或上传图片,图片识别文字的小工具.并通过exe4j工具将jar包封装成exe可执行桌面文件,方便使用及学习. Tip ...

  8. 一个Node.js的小爬虫

    爬虫其实就是对网页内特定id.class.标签内容的提取,多是循环出来的,对我们爬取非常便利. 1.安装node node官网下载安装包安装,后在命令行工具中输入node -v查看node安装的版本. ...

  9. Qt OpenGL textures详解

    1. 初始化opengl资源 Q_INIT_RESOURCE:textures(资源名称) QSurfaceFormat:定义3d面显示方式 如果在vs+qt vs tools 中无法正常显示3d图形 ...

  10. 小景的Dba之路--如何导出0记录表以及数据泵的使用

    小景最近在系统压测相关的工作,其中涉及了数据备份导出的操作.今天的问题是:exp命令不会导出0记录表,那么我们探讨下如何导出0记录表以及数据泵的使用. 首先,我们先刨析一下问题现象及原因: 在 Ora ...