Pytest(17)运行未提交的git(pytest-picked)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Pytest(17)运行未提交的git(pytest-picked),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2405字,纯文字阅读大概需要4分钟。
内容图文
![Pytest(17)运行未提交的git(pytest-picked)](/upload/InfoBanner/zyjiaocheng/1212/869e9363ca9743728741c186d053c7d0.jpg)
前言
我们每天写完自动化用例后都会提交到 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 文件
如果选择是,文件会变绿色,也就是 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://www.cnblogs.com/jiakecong/p/14297580.html
内容总结
以上是互联网集市为您收集整理的Pytest(17)运行未提交的git(pytest-picked)全部内容,希望文章能够帮你解决Pytest(17)运行未提交的git(pytest-picked)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。