pytest 13 使用自定义标记mark
前言:
pytest可以规定那些要跑,那些不跑,跑特定的哪些?比如以下的这个例子:
#!/usr/bin/env/python
# -*-coding:utf-8-*- import pytest @pytest.mark.runtest
def test_run():
print("run") def test_not_run():
pass def test_not_run1():
pass class TestClass:
def test_method(self):
pass if __name__ == "__main__":
pytest.main(["-s", "test_case.py", "-m=runtest"]) #代表只跑标识为runtest的case

运行结果:显示一个执行,3个没有被选择
Testing started at 13:56 ...
/usr/local/bin/python3.7 "/Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_pytest_runner.py" --path /Users/newcomer/gitByMyself/python_work_apple/pytest_package/mark/test_case.py -- -m=runtest
Launching py.test with arguments -m=runtest /Users/newcomer/gitByMyself/python_work_apple/pytest_package/mark/test_case.py in /Users/newcomer/gitByMyself ============================= test session starts ==============================
platform darwin -- Python 3.7.0, pytest-3.9.1, py-1.7.0, pluggy-0.8.0
rootdir: /Users/newcomer/gitByMyself, inifile:
plugins: datadir-1.2.1, allure-adaptor-1.7.10collected 4 items / 3 deselected python_work_apple/pytest_package/mark/test_case.py .run
[100%] ==================== 1 passed, 3 deselected in 0.01 seconds ====================
只运行用runcase标记的测试,cmd运行的时候,加个-m 参数,指定参数值runcase
如果不想执行runcase标记的case的时候,只需要在配置里面添加一个not runcase,比如以下:

#!/usr/bin/env/python
# -*-coding:utf-8-*- import pytest def test_run():
print("run") @pytest.mark.runtest
def test_not_run():
print("run") def test_not_run1():
print("run") class TestClass:
def test_method(self):
pass
运行结果:三个执行完,一个没有被选择
Testing started at 14:11 ...
/usr/local/bin/python3.7 "/Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_pytest_runner.py" --path /Users/newcomer/gitByMyself/python_work_apple/pytest_package/mark/test_case_01.py -- "-m=not runtest"
Launching py.test with arguments -m=not runtest /Users/newcomer/gitByMyself/python_work_apple/pytest_package/mark/test_case_01.py in /Users/newcomer/gitByMyself ============================= test session starts ==============================
platform darwin -- Python 3.7.0, pytest-3.9.1, py-1.7.0, pluggy-0.8.0
rootdir: /Users/newcomer/gitByMyself, inifile:
plugins: datadir-1.2.1, allure-adaptor-1.7.10collected 4 items / 1 deselected python_work_apple/pytest_package/mark/test_case_01.py .run
.run
. [100%] ==================== 3 passed, 1 deselected in 0.02 seconds ====================
Process finished with exit code 0
cmd命令:pytest -v -m “not runtest”
-v 注定的函数节点id:
如果想指定运行某个.py模块下,类里面的一个用例,如:TestClass里面testmethod用例
每个test开头(或_test结尾)的用例,函数(或方法)的名称就是用例的节点id,指定节点id运行用-v 参数
$ pytest -v test_server.py::TestClass::test_method
当然也能选择运行整个class
$ pytest -v test_server.py::TestClass
也能选择多个节点运行,多个节点中间空格隔开
$ pytest -v test_server.py::TestClass test_server.py::test_send_http
-k配皮用例名称
可以使用-k命令行选项指定在匹配用例名称的表达式
pytest -v -k not_run
也可以运行所有的测试,根据用例名称排除掉某些用例:
pytest -k “not not_run” -v
也可以同时选择匹配 “run” 和“not not_run”
pytest -k “run and not not_run” -v
pytest 13 使用自定义标记mark的更多相关文章
- pytest 14 使用自定义标记mark
标记失败用到的情况是,本身就知道这是失败的例子,所以,不用让他运行,直接跳过.或者是依赖于某个方法,某个方式失败的话,用例直接标记成失败. 标记失败有两种方法,一种是方法内部,一种是方法外部.内部用p ...
- pytest九:使用自定义标记 mark
pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行.app 自动化的时候,如果想android 和 ios 公用一套代码时,也可以使用标记功能,标明 ...
- pytest文档15-使用自定义标记mark
前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时, 也可以使用标记功能,标明哪些是 ...
- Pytest系列(8) - 使用自定义标记mark
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest 可以支持自定义 ...
- pytest_使用自定义标记mark
前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...
- 自定义标记mark
前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...
- Pytest使用自定义标记mark只执行部分用例
• 场景:只执行符合要求的某一部分用例 可以把一个web项目划分多个模块,然后指定模块名称执行. App自动化时,如果想Android和IOS公用一套代码时,也可以使用标记功能,标明哪些是IOS 的用 ...
- Pytest系列(八) - 自定义标记mark的使用
一.前言: pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用 二.示例代码 # -*- coding: utf-8 -*- # @Time : 20 ...
- Pytest学习笔记6-自定义标记mark
前言 在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略 比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mar ...
随机推荐
- eclipse导入java工程
1)File下的import选项 2)点击General,选择Existing Projects into Workspace,点击next 3)点击Browse,在弹出的窗口中选择导入工程所在的文件 ...
- MySQL 基础知识梳理学习(五)----半同步复制
1.半同步复制的特征 (1)从库会在连接到主库时告诉主库,它是不是配置了半同步. (2)如果半同步复制在主库端是开启了的,并且至少有一个半同步复制的从节点,那么此时主库的事务线程在提交时会被阻塞并等待 ...
- redis -字符串string
字符串类型是Redis 中最为基础的数据存储类型,它在Redis 中是二进制安全的,该类型可以接收任何格式的数据, 字符串 Value 最多可以容纳的数据长度是521M. 保存: 设置键值. set ...
- Docker-Docker-compose应用
Docker-compose是用来定义和运行多容器应用的工具,它是独立于docker存在的,需要单独安装.实际应用场景中,我们的应用可能被打包运行在不同的容器里面,例如一个常规的web应用可能会涉及到 ...
- 设计模式学习系列(一)——IOC设计原则
参考转载自IoC 之 2.1 IoC基础 ——跟我学Spring3
- Python多线程操作
多线程是一门编程语言的重要操作. GIL(全局解释器锁)存在于python解释器中,用来确保当前只有一个线程被执行,当一个线程获得GIL后,这个线程将被执行,退出时释放GIL,由下一个获得GIL的线程 ...
- python面试终极准备
简述Python的深浅拷贝? 将列表内的元素,根据位数合并成字典 lst = [1,2,4,8,16,32,64,128,256,512,1024,32769,65536,4294967296] # ...
- 深度学习识别CIFAR10:pytorch训练LeNet、AlexNet、VGG19实现及比较(二)
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com AlexNet在2012年ImageNet图像分类任务竞赛中获得冠军.网络结构如下图所示: 对CIFA ...
- $_SERVER['HTTP_REFERER']的使用
转载:http://www.5idev.com/p-php_server_http_referer.shtml 使用 $_SERVER['HTTP_REFERER'] 将很容易得到链接到当前页面的前一 ...
- jQuery 源码学习 - 01 - 简洁的 $('...')
首先贴上学习参考资料:[深入浅出jQuery]源码浅析--整体架构,备用地址:chokcoco/jQuery-. jQuery 库,js 开发的一个里程碑,它的出现,让网页开发者们告别荒蛮的上古时代, ...