pytest报错_pytest失败重跑

pytest报错_pytest失败重跑前言我们每天写完自动化用例后都会提交到git仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交git仓库的用例。pytest-picked插件可以

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

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

前言

我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例。pytest-picked 插件可以实现只运行未提交到git仓库的代码。
 

安装

pip3 install pytest-picked

 

使用示例

$ pytest --picked

$ pytest --picked=first

$ pytest --picked --mode=branch

$ pytest --picked --mode=unstaged  # default

$ pytest --picked --mode=branch --parent-branch=main # if your parent branch differs from "master"

 

–picked 参数

我们在已提交过 git 仓库的用例里面新增了 1 个文件 test_new.py
cd到项目根目录,使用git status查看当前分支状态

> git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   case/test_new.py

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   case/test_new.py

可以看到有1个文件,使用 pytest –picked 运行用例

Changed test files... 1. ['case/test_new.py']
collecting ... 
 case/test_new.py ✓                                                                                                                                                                                      100% ██████████

Results (0.04s):
       1 passed

 

–picked=first

首先运行修改后的测试文件中的测试,然后运行所有未修改的测试
 

–mode=PICKED_MODE

–mode 有2个参数可选 unstaged, branch, 默认是–mode=unstaged

git 文件的2个状态

  • untrack 没加到git里面的新文件
  • unstaged staged:暂存状态, unstage就是未暂存状态,也就是没git add 过的文件
    先弄清楚什么是 untrack 状态,当我们 pycharm 打开 git 项目,新增一个文件的时候,会弹出询问框:是否加到 git 文件
    pytest报错_pytest失败重跑
    如果选择是,文件会变绿色,也就是 unstage 状态(没git add 过);选择否,那就是一个新文件,未被加到当前分支的 git 目录里面,文件颜色是棕色。
    git status 查看当前分支的状态,此时会看到 case/test_new2.py 是 Untracked files
> git status

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   case/test_new.py

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   case/test_new.py

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        case/test_new2.py

运行 pytest –picked 会默认执行所有的 Untracked 文件和 not staged 文件,默认是–mode=unstaged。

collecting ... 
 case/test_new2.py::test_2 ✓                                                                                                                                                                              50% █████     
 case/test_new.py::test_1 ✓                                                                                                                                                                              100% ██████████

如果我们只需运行当前分支上已经被暂存,但尚未提交的文件(不包含 Untracked files)
运行 pytest --picked --mode=branch, 运行分支上已经被暂存但尚未提交的代码

(pytest_env) ➜  apitest git:(master) ✗ pytest --picked --mode=branch

Changed test files... 1. ['case/test_new.py']
Changed test folders... 0. []
collecting ... 
 case/test_new.py::test_1 ✓                                                                                                                                                                              100% ██████████
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何打造一款直播App(方法流程)

    如何打造一款直播App(方法流程)概要分享内容:互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——…….。从直播1.0秀场时代(YY),2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播app(Meerkat、Periscope),随着VA/AR/MR提出的沉浸式视听体验,直播4.0时代很快就能到来。在这个全民娱乐的时代,直播已经火得不要不要的,

    2022年5月26日
  • python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」

    python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下代码:#-*-coding:utf-8-*-importosclassImageRename():def__init__(self):self.path=’D:/xpu/paper/plate_data’defrename(self):filelist=os.listdir(self.pat…

    2022年9月4日
  • Java面试题:详细说明一下可重入锁ReentrantLock的原理

    Java面试题:详细说明一下可重入锁ReentrantLock的原理原文地址:https://baijiahao.baidu.com/s?id=1594800969528243663&amp;wfr=spider&amp;for=pc一个关于打水的小故事话说从前有一个村子,在这个村子中有一口水井,家家户户都需要到这口井里打水喝。由于井水有限,大家只能依次打水。为了实现家家有水喝,户户有水用的目标,村长绞尽脑汁,最终想出了一个比较合理的方案。首先,在水井…

    2022年6月13日
  • JS数组定义及详解

    JS数组定义及详解JS数组定义及详解一、总结一句话总结:在js中,文本下标的数组元素,不计入数组长度,以文本下标形式添加到数组,实际是以属性形式添加到数组对象中的。二、JS数组定义及详解1、什么是数组数组就是

    2022年6月30日
  • 小红书用户画像分析_抖音用户画像分析及活跃时间点「建议收藏」

    小红书用户画像分析_抖音用户画像分析及活跃时间点「建议收藏」今天小编来和大家分享一下,抖音用户画像的分析和抖音用户的活跃时间点,1、重点的画像,是抖音受众人群高低线及分布率。2、查询数据的技巧,如果是产品的话参考到阿里指数上查看,如果查行业的话,可以在百度上查看行业报告。在看数据的时候,要清楚你要从数据中得到什么,给我们启发是什么?做抖音要了解抖音上都有哪些人群,找准相对应的人群才能达成转化。3、抖音视频的活跃大约时间上午高峰是12:00晚上…

    2022年6月11日
  • 双十一品牌——官方首度揭秘设计全过程!

    双十一品牌——官方首度揭秘设计全过程!

    2022年3月8日

发表回复

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

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