pytest报错_git撤销本地提交

pytest报错_git撤销本地提交前言我们每天写完自动化用例后都会提交到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报错_git撤销本地提交
    如果选择是,文件会变绿色,也就是 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/165983.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月31日 上午7:00
下一篇 2022年7月31日 上午7:00


相关推荐

  • 封装httpClient工具类进行get、post、put、delete的http接口请求,可添加请求头与参数,支持多线程

    封装httpClient工具类进行get、post、put、delete的http接口请求,可添加请求头与参数,支持多线程首先需要json以及springframework的maven依赖:<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency>

    2022年7月27日
    11
  • Linux服务器配置(详细版)[通俗易懂]

    本来就很麻烦,如果错了一个很有可能从新再来,非常麻烦所以要细心Linux命令1.进入文件夹cd文件夹名称2.复制文件夹cp文件名指定目录copy文件到指定目录例如cp文件名称文件路径/var/www例子cp/root/gqxnb/gqx/var/www3.查看文件夹目录lsattr[-adRvV][文件或目录…]选…

    2022年4月14日
    48
  • 2 万字 Openclaw 最细部署指南,30分钟手把手教程!Openclaw完全指南第一篇

    2 万字 Openclaw 最细部署指南,30分钟手把手教程!Openclaw完全指南第一篇

    2026年3月18日
    2
  • linux查看fcsan设备,fc-san存储

    linux查看fcsan设备,fc-san存储对象存储服务 OBS 对象存储服务 ObjectStorag 是一款稳定 安全 高效 易用的云存储服务 具备标准 RestfulAPI 接口 可存储任意数量和形式的非结构化数据对象存储服务 OBS 对象存储服务 ObjectStorag 是一款稳定 安全 高效 易用的云存储服务 具备标准 RestfulAPI 接口 可存储任意数量和形式的非结构化数据执行异步 API 命

    2025年8月7日
    4
  • iis服务器 关闭自动启动,设置IIS服务器定时自动重启的方法

    iis服务器 关闭自动启动,设置IIS服务器定时自动重启的方法最近 有一朋友的 IIS 服务器老是出现问题 运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错 然后重启 IIS 后网站又能正常访问了 实在找不出是什么原因导致了这个问题 不过最终我想到了一个笨办法 就是让 IIS 服务器定时自动重启 在 Windows 的任务计划中指定一个时间让 IIS 服务器自动重启 这只是个笨办法 如果有高手知道究竟是什么原因导致 以及具体的解决方法请留言 谢谢了 设置 IIS

    2026年3月26日
    1
  • Python爬虫 之数据解析之bs4

    Python爬虫 之数据解析之bs4一 bs4 进行数据解析 1 数据解析的原理 标签定位 提取标签 标签属性中存储的数据值 2 bs4 数据解析的原理 实例化一个 BeautifulSou 对象 并且将网页源码数据加载到该对象中 通过调用 BeautifulSou 对象中相关的属性或者方法进行标签定位和数据提取 二 bs4 库和 lxml 库的安装因为 BeautifulSou 对象是存在 bs4 库中的 而 lxml 是一个解析器 在 bs4 进行数据解析的时候需要 lxml 当我们用 bs4 和 xpath 进行数据解析时都需要这个解析器 1

    2026年2月7日
    3

发表回复

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

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