1、conftest.py文件是什么

  • 单独存放fixtrue配置的一个文件
  • 用处是可以多个不同的pytest测试脚本共用一套fixture配置,代码维护方便

2、conftest.py使用注意事项

  • conftest.py文件不能修改名称,否则pytest检测不到
  • conftest.py与运行的用例要在python同一个包下(ps:必须有 init.py)
  • conftest.py文件配置好后,pytest自动检测并生效,不需要进行import导入

3、conftest.py文件使用实例

3.1. 单个包层级

  • 代码结构层次

  • 代码





  • 上述实例要运行,只需要运行 test_demo_02.py 文件即可,会自动检测 conftest.py 文件中的fixtrue

  • 通过上述实例,可以发现 test_demo_01.py 和 test_demo_02.py 都能引用到 conftest.py 文件中的fixtrue

3.2. 多个包层级,存在顶级包和测试包

  • 代码结构层次

  • 顶级目录pytest_demo包下的conftest.py代码

  • conftest_demo_02包下的conftest.py代码

  • conftest_demo_02包下的test_demo_01.py代码

  • conftest_demo_02包下的test_demo_02.py代码

  • 运行结果

    运行conftest_demo_02包下的test_demo_02.py代码,结果如下

3、conftest.py总结

  • 上述包下实例要运行,只需要运行 test_demo_02.py 文件即可,会自动检测到所有 conftest.py 文件中的fixtrue

  • 上例中包含了3个 conftest.py 文件,有顶层的,有测试包下的

  • 上例执行后查看结果会发现本层的 conftest.py 文件先生效,然后再生效上一级包下的

  • 在testadd方法中引用了本层和顶层的的fixtrue,可以看出顶层的fixtrue对本层级包以及子包下的测试方法都能生效

  • 注意:conftest_demo_02包下的测试模块不能引用conftest_demo_01包下 conftest.py 的fixture,因为它们没有上下的层级关系

  • 在实际使用 conftest.py 文件中,一般会把顶层的fixtrue的scope设置为session,存放整个项目需要使用的初始化操作或数据

pytest--conftest.py用法(单独存放fixtrue配置的一个文件)的更多相关文章

  1. shiro配置参考(二)可以和mybatis的配置放在一个文件中(不建议这样,可以拆分开来,注意相关配置即可)

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  2. pytest框架+conftest.py配置公共数据的准备和清理

    1.pytest介绍:1.自动发现测试模块和测试方法 2.断言使用 assert+表达式即可 3.可以设置会话级.模块级.类级.函数级的fixture 数据准备+清理工作 4.丰富的插件库,==all ...

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

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

  4. Pytest系列(6) - conftest.py的详细讲解

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 什么是conftest.py 可以 ...

  5. pytest自动化3:fixture之conftest.py实现setup

    出处:https://www.cnblogs.com/yoyoketang/p/9390073.html 前言: 前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作 ...

  6. pytest 3.fixture介绍一 conftest.py

    前言: 前面一篇pytest2 讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录, ...

  7. pytest文档5-fixture之conftest.py

    前言 前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要先登录. ...

  8. Pytest学习(六) - conftest.py结合接口自动化的举例使用

    一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...

  9. pytest文档4-fixture之conftest.py

    用例1需要先登录,用例2不需要登录,用例3需要先登录.很显然这就无法用setup和teardown来实现了.fixture之conftest.py就是自定义测试用例的预置条件 1.firture相对于 ...

随机推荐

  1. 面试官: Flink双流JOIN了解吗? 简单说说其实现原理

    摘要:今天和大家聊聊Flink双流Join问题.这是一个高频面试点,也是工作中常遇到的一种真实场景. 本文分享自华为云社区<万字直通面试:Flink双流JOIN>,作者:大数据兵工厂 . ...

  2. Web开发之Servlet

    当一个请求到达服务端,服务器怎么处理? 当一个请求到达服务端时,由服务端的引擎来进行分析.它根据工程名找到工程, 然后拿到URL的资源地址和web.XML文件的所有的进行对比,和哪一个对比上就找到了具 ...

  3. Go语言测试:testing

    学习参考来源:https://www.liwenzhou.com/posts/Go/16_test/ go test工具 必须导入包: import "testing" go te ...

  4. JDK并发工具类

    在JDK的并发包里提供了几个非常有用的并发工具类.CountDownLatch.CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线程 ...

  5. golang中接口类型小案例

    1.  在项目中实现注册成功之后,向用户发送邮件.微信提醒 package main import "fmt" type IMessage interface { send() b ...

  6. 集合框架-LinkedList集合练习(堆栈和队列)

    1 package cn.itcast.p2.linkedlist.test; 2 3 import java.util.LinkedList; 4 5 /* 6 * 请使用LinkedList来模拟 ...

  7. 运行项目时出现Sat May 15 20:00:19 CST 2021 WARN: Establishing SSL connection without server‘s identity veri

    这时我们只需要在连接数据库的url上设置:useSSL=false就可以了.

  8. QPS、TPS、并发用户数、吞吐量

    1.QPS QPS Queries Per Second 是每秒查询率 ,是一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也 ...

  9. ORA-15081: failed to submit an I/O operation to a disk

    Problem: While restoring controlfile to test environment, from filesystem or tape environment after ...

  10. 如何在pyqt中实现亚克力磨砂效果的QLabel

    前言 Windows10 在 UWP 应用中支持亚克力画刷,可以在部件的底部绘制亚克力效果的背景图.下面我们使用 QLabel 来模拟这个磨砂过程. 实现方法 MSDN 文档中介绍了亚克力材料的配方, ...