Pytest----通过设置重复路径可以重复执行多次

DevOps技术社区 2022-08-30 10:54:52

目录

  • 一、设置重复路径执行多次

一、设置重复路径执行多次

比如目录结构如下

tests/
|-- foobar
|   |-- test_foobar_01.py
|   |-- test_foobar_02.py
|   '-- test_foobar_03.py

当指定的重复路径为文件级别时,默认支持执行多次,如下,执行了两次

$ pytest  foobar/test_foobar_01.py foobar/test_foobar_01.py
============================= test session starts =============================
platform win32 -- Python 3.9.6, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: G:\src\blog\tests
plugins: allure-pytest-2.9.43, caterpillar-pytest-0.0.2, forked-1.3.0, rerunfailures-10.1, xdist-2.3.0
collected 2 items

foobar\test_foobar_01.py ..

============================== 2 passed in 0.02s ==============================

指定的重复路径为目录时,默认只会执行一次,如下,只执行了一次

$ pytest  foobar foobar
============================= test session starts =============================
platform win32 -- Python 3.9.6, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: G:\src\blog\tests
plugins: allure-pytest-2.9.43, caterpillar-pytest-0.0.2, forked-1.3.0, rerunfailures-10.1, xdist-2.3.0
collected 3 items

foobar\test_foobar_01.py .                                               [ 33%]
foobar\test_foobar_02.py .                                               [ 66%]
foobar\test_foobar_03.py .                                               [100%]

============================== 3 passed in 0.03s ==============================

当指定的路径为目录时,如果希望也执行多次,需要使用 --keep-duplicates参数,如下目录中的用例执行了2次

$ pytest  foobar foobar --keep-duplicates
============================= test session starts =============================
platform win32 -- Python 3.9.6, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: G:\src\blog\tests
plugins: allure-pytest-2.9.43, caterpillar-pytest-0.0.2, forked-1.3.0, rerunfailures-10.1, xdist-2.3.0
collected 6 items

foobar\test_foobar_01.py .                                               [ 16%]
foobar\test_foobar_02.py .                                               [ 33%]
foobar\test_foobar_03.py .                                               [ 50%]
foobar\test_foobar_01.py .                                               [ 50%]
foobar\test_foobar_02.py .                                               [ 50%]
foobar\test_foobar_03.py .

============================== 6 passed in 0.04s ==============================
...全文
277 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

32

社区成员

发帖
与我相关
我的任务
社区描述
围绕测试开发、Devops、软件工程等方向,学习交流,共享技术新动态、新方向。求助工作中的问题,困惑等,互相交流,共同成长
软件工程测试工具devops 技术论坛(原bbs) 江苏省·南京市
社区管理员
  • redrose2100
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

1、社区话题和文章主要围绕DevOps技术栈

2、有广告需求请联系微信 Redrose2100

 

试试用AI创作助手写篇文章吧