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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]

    ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]ffplay播放器移植VC的工程:ffplayforMFC本文介绍一个自己做的FFPLAY移植到VC下的开源工程:ffplayforMFC。本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。并且使用MFC做了一套简单的界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继

    2022年6月24日
    22
  • Drupal开发学习入门指引[通俗易懂]

    Drupal开发学习入门指引[通俗易懂]我是云客,《云客drupal8源码分析》系列的作者,伴随着drupal8第一个正式版本发布到现在,该系列已经发布100期,超过60万字,作为中国投入精力最大、同时也是时间最早的第一批用户之一,云客觉得有义务帮助初学者准备好行囊,叮嘱好一路上的注意事项,之前也零星写过一些入门方面的资料,会在本文末给出链接(这些资料也很值得参考),本篇将为您全面整理需要的一切和规划学习步骤,这里假定您是一个刚刚学会p…

    2022年6月9日
    40
  • 打印罗马字符_ascii非打印控制字符

    打印罗马字符_ascii非打印控制字符写的我好累,有很多不懂,拜托大家带带我

    2022年9月30日
    2
  • Python删除文件到回收站

    Python删除文件到回收站利用activepython里面的shell模块可以完成删除到回收站的操作,如下:fromwin32com.shellimportshell,shellcondefdeltorecyclebin(filename):   shell.SHFileOperation((0,shellcon.FO_DELETE,filename,None,/      shellc

    2022年5月30日
    37
  • 1、win10下的python3.5.4安装

    现在越来越多人入坑python了,当然我也不例外。作为一个java程序员的我,在空余时间就慢慢学习python了 。第一件事就是安装Python啦。(主要以Python 3.5.4为例)一、官网下载安装包官网地址:https://www.python.org/downloads/windows/ 都说越新越好嘛,其实我觉得都差不多,但是3.6跟3.5还是有点区别的嘛,所以我…

    2021年11月30日
    61
  • 大数据平台建设路径

    大数据平台建设路径数字化转型这几年成为了集团公司或大型企业寻求业务突破的重要手段,而且各行各业都不乏成功案例,例如金融行业的建设银行、招商银行、平安保险等,还有一些生动的例子,例如百丽鞋业。而国外的经典案例就是亚马逊和特斯拉。集团客户动静都很大,首先要做咨询规划,必须跟上投入和管理配套,然后可以开始平台建设,最终开始应用,赋能各业务线和产品线。从技术的角度,一个完整的大数据平台通常会三期建设。先看下图:蓝色部分是第一期内容,绿色部分是第二期内容,橙色部分是第三期内容。第一步,先建设大数据基础平台。首要满足的是数据汇聚

    2022年4月30日
    41

发表回复

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

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