前言:

  pytest可以规定那些要跑,那些不跑,跑特定的哪些?比如以下的这个例子:

  1. #!/usr/bin/env/python
  2. # -*-coding:utf-8-*-
  3.  
  4. import pytest
  5.  
  6. @pytest.mark.runtest
  7. def test_run():
  8. print("run")
  9.  
  10. def test_not_run():
  11. pass
  12.  
  13. def test_not_run1():
  14. pass
  15.  
  16. class TestClass:
  17. def test_method(self):
  18. pass
  19.  
  20. if __name__ == "__main__":
  21. pytest.main(["-s", "test_case.py", "-m=runtest"]) #代表只跑标识为runtest的case

运行结果:显示一个执行,3个没有被选择

  1. Testing started at 13:56 ...
  2. /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
  3. Launching py.test with arguments -m=runtest /Users/newcomer/gitByMyself/python_work_apple/pytest_package/mark/test_case.py in /Users/newcomer/gitByMyself
  4.  
  5. ============================= test session starts ==============================
  6. platform darwin -- Python 3.7.0, pytest-3.9.1, py-1.7.0, pluggy-0.8.0
  7. rootdir: /Users/newcomer/gitByMyself, inifile:
  8. plugins: datadir-1.2.1, allure-adaptor-1.7.10collected 4 items / 3 deselected
  9.  
  10. python_work_apple/pytest_package/mark/test_case.py .run
  11. [100%]
  12.  
  13. ==================== 1 passed, 3 deselected in 0.01 seconds ====================

只运行用runcase标记的测试,cmd运行的时候,加个-m 参数,指定参数值runcase

如果不想执行runcase标记的case的时候,只需要在配置里面添加一个not runcase,比如以下:

  1. #!/usr/bin/env/python
  2. # -*-coding:utf-8-*-
  3.  
  4. import pytest
  5.  
  6. def test_run():
  7. print("run")
  8.  
  9. @pytest.mark.runtest
  10. def test_not_run():
  11. print("run")
  12.  
  13. def test_not_run1():
  14. print("run")
  15.  
  16. class TestClass:
  17. def test_method(self):
  18. pass

运行结果:三个执行完,一个没有被选择

  1. Testing started at 14:11 ...
  2. /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"
  3. 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
  4.  
  5. ============================= test session starts ==============================
  6. platform darwin -- Python 3.7.0, pytest-3.9.1, py-1.7.0, pluggy-0.8.0
  7. rootdir: /Users/newcomer/gitByMyself, inifile:
  8. plugins: datadir-1.2.1, allure-adaptor-1.7.10collected 4 items / 1 deselected
  9.  
  10. python_work_apple/pytest_package/mark/test_case_01.py .run
  11. .run
  12. . [100%]
  13.  
  14. ==================== 3 passed, 1 deselected in 0.02 seconds ====================
  15. 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的更多相关文章

  1. pytest 14 使用自定义标记mark

    标记失败用到的情况是,本身就知道这是失败的例子,所以,不用让他运行,直接跳过.或者是依赖于某个方法,某个方式失败的话,用例直接标记成失败. 标记失败有两种方法,一种是方法内部,一种是方法外部.内部用p ...

  2. pytest九:使用自定义标记 mark

    pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行.app 自动化的时候,如果想android 和 ios 公用一套代码时,也可以使用标记功能,标明 ...

  3. pytest文档15-使用自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时, 也可以使用标记功能,标明哪些是 ...

  4. Pytest系列(8) - 使用自定义标记mark

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest 可以支持自定义 ...

  5. pytest_使用自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...

  6. 自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...

  7. Pytest使用自定义标记mark只执行部分用例

    • 场景:只执行符合要求的某一部分用例 可以把一个web项目划分多个模块,然后指定模块名称执行. App自动化时,如果想Android和IOS公用一套代码时,也可以使用标记功能,标明哪些是IOS 的用 ...

  8. Pytest系列(八) - 自定义标记mark的使用

    一.前言: pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用 二.示例代码 # -*- coding: utf-8 -*- # @Time : 20 ...

  9. Pytest学习笔记6-自定义标记mark

    前言 在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略 比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mar ...

随机推荐

  1. Vue 单选框与单选框组 组件

    radio组件 v-model  : 通过当然绑定的值与input上的value值来确定当前选中项. 在父作用域中通过active设置当前默认选中项,如果选中项发生改变后通过input事件通知传递到父 ...

  2. 可以让你神操作的手机APP推荐 个个都是爆款系列

    手机在我们的生活中显得日益重要,根据手机依赖度调查显示,69%的人出门时必带手机,20%的人经常在吃饭睡觉.上卫生间时使用手机:43%的人早上起床第一件事就是查看手机,不用多说,我们对于手机的依赖性越 ...

  3. Vue components Cannot read property '__ob__' of undefined

    在Vue开发过程中,子组件向父组件传值的过程中,函数时可以对应的触发的,但是当父组件要改变自己的属性的时候报错了. 具体的页面逻辑是这样的,父组件 子组件 点击了之后没有问题,子组件向父组件传值  t ...

  4. 轻松学习UML之用例图,时序图

    本文主要讲解UML图中的用例图(Use Case Diagram)和时序图(Sequence Diagram)相关内容,如有不足之处,还请指正. 概述 统一建模语言(UML,UnifiedModeli ...

  5. Codeception 实战

    Codeception 测试 Php 代码 一.一句话概述 使用 cc 进行单元测试,保证现有代码质量,为以后维护与重构提供支撑. 二.目标 安装配置 cc 编写测试代码,简化开发与最大化稳定性和可维 ...

  6. Linux:Day18(下) Bind9

    子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库中进行授权. 类似根域授权tld: .com IN NS ns1.com. .com IN NS ns1.com. ns1.com IN ...

  7. Linux系统下Mysql安装与配置

    一,使用系统 Centos7: 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 二,下载安装 ...

  8. ora-14400:插入的分区关键字未映射到任何分区

    参考:https://blog.csdn.net/rubychen410/article/details/5317553 出现该问题是由于: 1.为表设置了根据时间进行分区(PARTITION),而每 ...

  9. [蓝桥杯]2016蓝桥省赛B组题目及详解

    /*——————————————————————————————————————————————————————————— [结果填空题]T1 (分值:3) 题目:煤球数目 有一堆煤球,堆成三角棱锥形 ...

  10. flutter 返回键监听

    本篇为继上片监听返回键基础下优化: 以下做返回键监听两种情况: import 'package:fluttertoast/fluttertoast.dart'; //提示第三方插件 1. 单击提示双击 ...