Pytest (3.3) 自定义mark

自定义mark

mark注册

    pytest --markers

根据节点ID选择测试用例


自定义mark

我们可以用下面的方式自定义mark

@pytest.mark.{自定义的mark名}

Customer marker

用下面指令运行 pytest -v -m webtest

Result

由上图的运行结果:

collected 5 items/ 4 deselected / 1 selected

收集到了5个测试用例,但是只选择了一个测试用例进行运行,这是因为只有一个测试用例应用了webtest mark


mark注册

但是由上面的结果还能看出,有一个警告: PytestUnknownMarkWarning: Unknown pytest.mark.webtest - is this a typo? 

这是因为没有对webtest mark注册,可以用如下方式对webtest mark进行注册

新建pytest.ini文件,并在其中添加如下代码

pytest.ini

然后新建conftest.py文件,用pytest_configure 钩子进行注册:

conftest.py

再次运行pytest -v -m webtest,

由下面截图可以看出,结果中已经没有警告信息了

Result

用pytest --markers指令可以获得,项目中定义的所有mark

pytest --markers

根据节点ID选择测试用例

可以提供一个或者多个节点ID作为参数来选择指定的测试用例。

这样可以基于模块名称,类名称,方法名称进行选择执行测试用例:

如下选择执行test_customermark.py模块下的TestClass类中测试方法test_method_1

pytest

也可以基于类名执行,这个类中的所有测试用例

pytest TestClass

或者一次执行多个node

选择多个node


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Pytest 是一个比较成熟且功能完备的 Python 测试框架。其提供完善的在线文档,并有着大量的第三方插件和内...
    派派森森阅读 4,414评论 0 12
  • Pytest 入门学习 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 简单灵活,...
    小娟_bb93阅读 2,498评论 0 5
  • Pytest提供了多样化的方式来运行和调试测试用例,本文介绍一些比较常用的方式。 pytest是如何识别测试用例的...
    然儿raner阅读 1,723评论 0 0
  • 一、pytest环境安装 1.cmd中安装 1.在cmd中当前目录下输入指令:pip install pytest...
    雨点的光辉阅读 3,277评论 0 8
  • 目录: 安装及入门 使用和调用方法 原有TestSuite使用方法 断言的编写和报告 Pytest fixture...
    琉璃_233a阅读 501评论 0 0