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 ...
随机推荐
- glibc溢出提权CVE-2018-1000001总结
遇到了好几个centos6.5,一直尝试想提权.暂未成功,靶机内核:2.6.32-696.18.7.el6.x86_64. glibc版本:ldd (GNU libc) 2.12 目前编译过程中都发现 ...
- React-组件的生命周期详解(含React16版本)
在一个组件的整个生命周期中,通过用户的交互来更新state或者props,重新渲染组件,更新页面的ui.组成一个简单的"状态机". react的生命周期三个阶段: Mounting ...
- git报错
-Initial commit Untracked files nothing added to commit but untracked 代码并没有被成功提交,看信息是文件没有被tracked gi ...
- 【Android】用Cubism 2制作自己的Live2D——初见!
前言- 现在很多手游的UI上都不约而同的放置一个Live2D模型,这仿佛已经成为了一个业界的潜规则之类的东西.作为一名深受手机游戏毒害的90后,我也没有忘记小时候励志当一名技术宅的梦想,也想试试自己做 ...
- DEDECMS 漏洞修复方案
目录 DEDECMS支付模块注入漏洞 漏洞文件: /include/payment/alipay.php 漏洞描述: 对输入参数$_GET['out_trade_no']未进行严格过滤 修复方案: 对 ...
- scrapy CrawlSpider解析
CrawlSpider继承自Spider, CrawlSpider主要用于有规则的url进行爬取. 先来说说它们的设计区别: SpiderSpider 类的设计原则是只爬取 start_urls 中的 ...
- HTML基础-------HTML标签(3)
HTML标签(3) 表格 作用:制作一个表格 属性: 标签;table>tr>td(或者th) 语义; table:一个表格 tr:一行 td:一个单元格 th:单元格的表头 captio ...
- Ubuntu下搭建spark2.4环境(单机版)
说明:单机版的Spark的机器上只需要安装JDK即可,其他诸如Hadoop.Zookeeper(甚至是scala)之类的东西可以一概不安装.集群版搭建:Spark2.2集群部署和配置 一.安装JDK1 ...
- 【js】字符串方法
let str = 'na'; console.log(str.repeat('3'));//nanana console.log(str.startsWith('n'));//true consol ...
- openwrt 里LUA程序怎么获取POST数据?
https://www.zhihu.com/question/31579325 作者:齐葛链接:https://www.zhihu.com/question/31579325/answer/28342 ...