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

原文地址:https://www.cnblogs.com/peiminer/p/9922282.html

时间: 2024-07-30 19:11:39

pytest 13 使用自定义标记mark的相关文章

pytest-15-自定义标记mark

pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是ios用例,哪些是android的,运行代码时候指定mark名称运行就可以 mark标记 1.以下用例,标记test_send_http()为webtest # content of test_server.py import pytest @pytest.mark.webtest def test_sen

如何在双向绑定的Image控件上绘制自定义标记(wpf)

原文:如何在双向绑定的Image控件上绘制自定义标记(wpf) 我们的需求是什么? 答:需要在图片上增加一些自定义标记,例如:2个图片对比时,对相同区域进行高亮. 先上效果图: 设计思路 1.概述 1.通过TargeUpdated事件,重新绘制图片进行替换. 2.详细实现 1.我们先绑定ImageTargetUpdated事件. ? 1 <Image x:Name="DestImageControl" Source="{Binding Path=Source.Url,

《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求

1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架ServerSuperIO教程>2.服务实例的配置参数说明 <连载 | 物联网框架ServerSuperIO教程>- 3.设备驱动介绍 <连载 | 物联网框架ServerSuperIO教程>-4.如开发一套设备驱动,同时支持串口和网络通讯. <连载 | 物联网框架ServerSupe

10、pytest -- skip和xfail标记

目录 1. 跳过测试用例的执行 1.1. @pytest.mark.skip装饰器 1.2. pytest.skip方法 1.3. @pytest.mark.skipif装饰器 1.4. pytest.importorskip方法 1.5. 跳过测试类 1.6. 跳过测试模块 1.7. 跳过指定文件或目录 1.8. 总结 2. 标记用例为预期失败的 2.1. 去使能xfail标记 3. 结合pytest.param方法 往期索引:https://www.cnblogs.com/luizyao/p

hive-0.13固化自定义UDF

之前帮业务方固化过hive-0.7的自定义的UDF,由于现在大部分业务数据都已经迁移到hadoop2.4.0,hive使用的版本是0.13,之前固化的UDF不能用了,让在0.13上面也固化一下,以下是固化过程: 1.常用的自定义函数有:mid,url_to_mid ,row_number ,findid ,nvl 2.udf包:hive-udf-1.0.jar 3.将hive-udf-1.0.jar包作为编译hive-exec依赖的方式有以下两种,选择其中一种就行: (1).将hive-udf-

pytest文档31-allure标记用例级别severity

前言 我们在做功能测试的时候,执行完一轮测试用例,输出测试报告的时候,会有统计缺陷的数量和等级. 在做自动化测试的过程中,当你的测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级. pytest结合allure框架可以对用例的等级做详细的划分. 用例等级 allure对用例的等级划分成五个等级 blocker 阻塞缺陷(功能未实现,无法下一步) critical 严重缺陷(功能点缺失) normal 一般缺陷(边界情况,格式错误) minor 次要缺陷

WPF:实现自定义标记扩展

标记扩展使用{标记扩展类 参数}语法,如: <TextBlock Text={x:Null}/> 为什么x:Null就可以返回一个null值呢? 其实在System.Windows.Markup命名空间中存在一个名为“NullExtension”的类型. 在解析到x:Null的时候,实际上会实例化NullExtension的一个对象. 而NullExtension实现了抽象类MarkupExtension,MarkupExtension中提供了抽象方法: public abstract obj

jquery-validation-1.13.1 自定义验证正则

/*** check Mobile***********************/ jQuery.validator.addMethod("isMobile", function(value, element,param) { //var pattern=/(^0{0,1}[13|15|18|14|17]{2}[0-9]{9}$)/; var pattern= /(^1[3,4,5,7,8]{1}[0-9]{9}$)/; //var pattern = /(?:\(?[0\+]?\d{

夺命雷公狗---Smarty NO:13 系统自定义函数(plugins)

1.counter函数 实现自动计数功能 {counter start=0 skip=2 print=false} 参数说明: start:起始位置 skip:步阶 print:当前是否打印 demo5.html代码示例 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <ul> &