zoukankan      html  css  js  c++  java
  • pytest--conftest.py用法(单独存放fixtrue配置的一个文件)

    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,存放整个项目需要使用的初始化操作或数据

  • 相关阅读:
    HDU
    Hdu 5072 Coprime(容斥+同色三角形)
    HDU
    HTML常用基础标签
    简单session实现
    前端中的 IoC 理念
    怎样做页面界限
    Reset 对象属性
    SQL注入
    js:表单校验(获取元素、事件)
  • 原文地址:https://www.cnblogs.com/ritaliu/p/13523842.html
Copyright © 2011-2022 走看看