pytest运行_ios自动清理缓存

pytest运行_ios自动清理缓存前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

pytest 运行完用例之后会生成一个 .pytest_cache 的缓存文件夹,用于记录用例的ids和上一次失败的用例。
方便我们在运行用例的时候加上–lf 和 –ff 参数,快速运行上一次失败的用例。
–lf, –last-failed 只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)
–ff, –failed-first 运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown)
 

cache

pytest -h 查看命令行参数,关于 cache 参数的使用方式

> pytest -h

--lf, --last-failed   rerun only the tests that failed at the last 
                      run (or all if none failed)
--ff, --failed-first  run all tests, but run the last failures first.
                      This may re-order tests and thus lead to repeated fixture                                   											setup/teardown.
--nf, --new-first     run tests from new files first, then the rest of the tests sorted by 												file mtime
--cache-show=[CACHESHOW]
                      show cache contents, don't perform collection or tests. Optional      											argument: glob(default: '*').
--cache-clear         remove all cache contents at start of test run.

参数说明:

  • –lf 也可以使用 --last-failed 仅运行上一次失败的用例
  • –ff 也可以使用 --failed-first 运行全部的用例,但是上一次失败的用例先运行
  • –nf 也可以使用 --new-first 根据文件插件的时间,新的测试用例会先运行
  • –cache-show=[CACHESHOW] 显示.pytest_cache文件内容,不会收集用例也不会测试用例,选项参数: glob (默认: ‘*’)
  • –cache-clear 测试之前先清空.pytest_cache文件
     

–cache-show

案例

def test_01():
    a = "hello"
    b = "hello"
    assert a == b


def test_02():
    a = "hello"
    b = "hello world"
    assert a == b


def test_03():
    a = "hello"
    b = "hello world"
    assert a in b


def test_04():
    a = "hello"
    b = "hello world"
    assert a not in b

命令行输入 运行完成后,会有2个用例失败,2个用例成功

collecting ... 
 case/test_1.py ✓                                                                                                                                                                                         25% ██▌       

 case/test_1.py ⨯✓                                                                                                                                                                                        75% ███████▌  

 case/test_1.py ⨯                                                                                                                                                                                        100% ██████████

运行完成后,会在当前的目录生成一个 .pytest_cache 的缓存文件夹,层级结构如下

pytest运行_ios自动清理缓存

lastfailed 文件记录上一次运行失败的用例

{
  "test_x.py::test_02": true,
  "test_x.py::test_04": true
}

nodeids 文件记录所有用例的节点

[
  "test_x.py::test_01",
  "test_x.py::test_02",
  "test_x.py::test_03",
  "test_x.py::test_04"
]

于是可以通过 pytest –cache-show 命令查看cache目录

(pytest_env) ➜  apiAutomatic pytest --cache-show
Test session starts (platform: darwin, Python 3.7.6, pytest 6.2.1, pytest-sugar 0.9.4)
rootdir: /Users/jkc/PycharmProjects/apiAutomatic, configfile: pytest.ini
plugins: assume-2.4.2, sugar-0.9.4, rerunfailures-9.1.1, base-url-1.4.2, html-3.1.1, metadata-1.11.0, ordering-0.6, cov-2.10.1, repeat-0.9.1, xdist-2.2.0, forked-1.3.0, allure-pytest-2.8.29
cachedir: /Users/jkc/PycharmProjects/apiAutomatic/.pytest_cache
------------------------------------------------------------------------------------------------- cache values for '*' -------------------------------------------------------------------------------------------------
cache/lastfailed contains:
  {'case/test_1.py::test_02': True, 'case/test_1.py::test_04': True}
cache/nodeids contains:
  ['case/test_1.py::test_01',
   'case/test_1.py::test_02',
   'case/test_1.py::test_03',
   'case/test_1.py::test_04']
cache/stepwise contains:
  []
Results (0.02s):

 

–cache-clear

–cache-clear 用于在测试用例开始之前清空cache的内容

查看pytest关于cache的更多文档https://docs.pytest.org/en/latest/cache.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165256.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月28日 下午11:36
下一篇 2022年7月28日 下午11:36


相关推荐

  • Pycharm工具介绍

    Pycharm工具介绍Pycharm 工具介绍

    2026年3月27日
    1
  • linux ftp下载命令_centos如何连接ftp

    linux ftp下载命令_centos如何连接ftpLinuxFTP命令全集1前言下面就所有命令给出解释和例子。说明: 1.remote-file指远程文件,即服务器上的文件2.local-file 指本地文件,即本地机器上的文件2登录登出命令2.1ftp$ftp192.168.0.2格式:ftp[host]Host为ftp主机ip,此命令用来登录ftp服务器,登录后会提示输入账户和密码,账户和密码正确输入后,就会登录到…

    2026年2月11日
    5
  • linux 运行asf云挂卡,linux 服务器配置 ASF 云挂卡

    linux 运行asf云挂卡,linux 服务器配置 ASF 云挂卡关于社区打不开 https github com zyfworks AnotherSteam 下载 asf https github com JustArchi ArchiSteamFa releases 依赖包 ubuntu sudoapt getinstallli devgettextli devliblt

    2026年3月16日
    1
  • SpringCloud微服务架构学习笔记

    SpringCloud微服务架构学习笔记SpringCloud 微服务架构学习笔记 01 什么是微服务架构 02 如何把握全局视角去设计微服务工程 03 AlibabaNacos 服务注册与配置中心 04 SpringBootAd 微服务应用监控 05 授权 鉴权中心微服务 06 SpringCloudG 微服务网关 07 SpringCloudS Zipkin 分布式日志追踪 待续 01 什么是微服务架构 02 如何把握全局视角去设计微服务工程 03 AlibabaNacos 服务注册与配置中心 04 Spri

    2026年3月17日
    2
  • bootstrap使用详解

    bootstrap使用详解使用 bootstrap 时 先去 bootstrap 官网 http www bootcss com 下载最新版本 bootstrap 然后根据下载页面下提示使用 通常必须存在然后引用 bootstrap js bootstrap css jquery js 三个文件如 bootstrap 规定使用前置设置 metaname viewport content wi

    2026年3月17日
    2
  • java方法中的构造方法与普通方法的区别[通俗易懂]

    “java”方法中的构造方法与普通方法的区别是:一、构造方法的名字必须与定义它的类名完全相同;二、构造方法在初始化对象时自动执行;三、构造方法可以被重载;四、构造方法不能被“static”等关键字修饰。

    2022年1月17日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号