首页 > 其他分享 >pytest库

pytest库

时间:2023-07-19 12:55:52浏览次数:31  
标签:标记 pytest 测试用例 mark1 测试 test

pytest官网文档地址:https//docs.pytest.org
安装pip3 install pytest

1.pytest基本使用

1.1 pytest默认测试用例规则

(1)模块名必须以test_开头或者_test结尾

(2)测试类必须以Test开头,并且不能有ini方法

(3)测试方法必须以test开头

1.2 pytest测试用例运行方式

1.2.1命令行运行

pytest [options] [file_or_dir] [file_or_dir] [...]

(1)测试搜索:pytest搜索测试文件和测试用例的过程称为测试搜索。只要遵守pytest的命名规则,pytest就能自动搜索所有待执行的测试用例。主要的命名规则:

测试文件应当命名为test_<someting>.py或者<someting)_test.py
测试函数、测试类方法应当命名为test_<something>
测试类应当命名为Test<something>
运行pytest时可以指定目录和文件。如果不指定,pytest会搜索当前目录及其子目录中以test_开头或以_test结尾的测试函数。
(2)常用命令行选项:

  • --collect-only 选项可以展示在给定的配置下哪些测试用例会被运行。
  • -k 选项允许你使用表达式指定希望运行的测试用例
  • -m 选项用于标记测试并分组,以便快速选中并运行。当需要同时运行一组测试用例时,我们可以预先使用@pytest.mark.标记名 这样的装饰器来做标记,以下例子使用标记名run_these标记分组,然后使用命令行pytest -v -m run_these,这样有相同标记run_these的测试用例便可以一起运行。
import pytest
@pytest.mark.run_these:
def test_case1():
    pass
@pytest.mark.run_these:
def test_case2():
    pass
View Code

使用-m选项可以用表达式指定多个标记名。
使用-m "mark1 and mark2"可以同时选中带有这两个标记的所有测试用例。
使用-m "mark1 and not mark2"则会选中带有mark1的测试用例,而过滤掉带有mark2的测试用例。
使用-m "mark1 or mark2"则选中带有mark1或者mark2的所有测试用

标签:标记,pytest,测试用例,mark1,测试,test
From: https://www.cnblogs.com/wuxunyan/p/17565284.html

相关文章

  • 超详细的 pytest 教程 (三) 之前后置方法和 fixture 机制
    这一篇文章专门给大家讲解pytest中关于用例执行的前后置步骤处理,pytest中用例执行的前后置处理既可以通过测试夹具(fixtrue)来实现,也可以通过xunit风格的前后置方法来实现。接下来我们一起看看如何具体使用。一、xunit风格的前后置方法1、函数用例的前后置方法在模块中......
  • 超详细的 pytest 教程 (二) 之测试报告篇
    这个章节主要给大家介绍pytest如何集成测试报告。pytest本身是没有生成测试报告的功能,但是pytest中有很多插件,我们可以通过插件来生成测试报告。下面会给大家介绍两个生成报告的方式。一个是生成html报告,一个是集成allure报告平台来展示测试报告。一、生成HTML报告1.1、安装......
  • 超详细的 pytest 教程(一)使用入门篇
    前言pytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写pytest详细的使用文档的,由于时间关系一直搁置,直到今天才开始写。本文是第一篇,主要介绍pytest的入门使用,后续会分篇针对pytest中的各个功能出详细的......
  • pytest测试实战
    电子pdf下载链接:目录: ......
  • PlayWright(十九)- Pytest之fixture测试夹具
    fixture是Pytest的测试夹具,相当于unittest的setup和teardown,这个在之前我们也有介绍setup和teardown详情可看:https://www.cnblogs.com/nuomituan/p/17541815.html  那为什么我们不用setup和teardown呢,因为我们使用fixture更加灵活,具体有独立的命名,然后呢,还可以按模块化的方......
  • pytest + yaml 框架 -52.支持 websocket 协议
    前言v1.4.2版本支持websocket协议python操作websocket协议环境准备pip3installwebsocket-clientpip3installwebsockets基本代码示例fromwebsocketimportcreate_connectionimportjsonurl='ws://localhost:8081/ws'ws=create_connection(url,timeout......
  • 2. pytest框架环境搭建
      1.安装pytest1安装pytest:pippytest23三方插件:45pipinstallXXX67pytest-xdist(分布式测试)8pytest-selenium(集成selenium)9pytest-html(完美html测试报告---原生态)10pytest-rerunfailures(失败case重复执行)11pytest-forked12allure-pyte......
  • pytest---更改自动化测试用例执行顺序
    前言在自动化测试中,自动化测试用例设计原则就是执行过程时不能存在依赖顺序,那么如果测试用例需要按照指定顺序执行,这个时候应该怎么做呢?目前单元测试框架中unittest没有办法改变测试用例的执行顺序,但是另一个单元测试框架pytest可以做到,辅助测试人员更改测试用例的执行顺序,今天小......
  • PlayWright(十六)- Pytest断言
    我们在写自动化测试的时候,得到测试结果之后,现在要开始拿实际结果与期望结果做对比了 那如果是测试1个结果,我们可以用肉眼比对,如果是百十来个用例结果,我们肉眼就看不过来了,所以我们需要断言,而在Pytest中也有断言,而且Pytest的断言使用的是Python自带的,所以使用起来很方便 使......
  • pytest生成测试报告无数据
    1、排除用pytest生成的数据是没有问题的可以通过pytest--alluredir=report检查2、了解使用的语句:alluregeneratereport(用report文件夹中的数据,生成allure打开的图形界面的)我操作的失误在第二点,直接进入到report文件夹执行。导致生成的项目的时候,数据没有被读取。解决方案:......