当前位置: 首页 > news >正文

pytest心得体会

一、如何单独运行某条用例

在参数化测试中总有些用例失败,由于前后置数据的关系需要单独运行那条用例如何运行呢

  • 方法一:直接查看控制台运行用例 确定是[2-case_data8]
    在这里插入图片描述
pytest.main(["-sv","testcase/违规告警/test_违规告警_非合同车.py::TestIllegalAlarmNonContract::test_illegal_alarm_non_contract_009[2-case_data8]"])
  • 方法二 查看allure报告 Parameters
    根据 Parameters进行拼接 2-case_data4
    注意 不要使用allure.dynamic.title(case_data["title"])或者 @allure.title()
    在这里插入图片描述

二、参数化需要可迭代对象

参数化有点像for i in case_data其中i为实际的用例参数
这就是yaml对象中为何会写step01:让其转dict时变为一个列表
在这里插入图片描述

三、多个参数化使用时注意参数形式

@pytest.mark.parametrize("case_data", pd.get_yaml_single_case_data(filename9, api_name))  # [{},{},]
@pytest.mark.parametrize("alarm_type", [2])

同一测试函数存在case_data,alarm_type两个参数化,他们之间是存在组合关系的,组合方式就是笛卡尔积,我想要保证alarm_type每次传2,3两个参数,参数需要写为[(2,3)]

@pytest.mark.parametrize("alarm_type", [(2,3)])

这就是参数化有点像for i in case_data具体应用,保证i是我们想要的数据,若写成@pytest.mark.parametrize("alarm_type", [2,3])
形成的参数化将为[2-case_data],[3-case_data] 分别进行组合

相关文章:

  • vue2+Vant 定制主题
  • 第二章:ForgeAgent Core
  • 极狐GitLab 的合并请求部件能干什么?
  • 【C语言】C语言中的字符函数和字符串函数全解析
  • COMSOL多孔结构传热模拟
  • VTK-8.2.0源码编译(Cmake+VS2022+Qt5.12.12)
  • 零跑B01上海车展全球首秀,定义纯电轿车新基准
  • 3D模型格式转换工具HOOPS Exchange 2025.3.0更新:iOS实现Rhino格式支持!
  • CS144 Lab3 实战记录:TCP 发送器实现
  • 奶茶店里面的数据结构
  • ProxySQL实现mysql8主从同步读写分离
  • Vue3祖先后代组件数据双向同步实现方法
  • TypeScript-知识点梳理
  • 阿里云 AI 搜索开放平台:RAG智能化工作流助力 AI 搜索
  • 【数据结构和算法】6. 哈希表
  • Hive中Map和Reduce阶段的分工
  • C++笔记-stack_queue(含deque,priority_queue,仿函数的讲解)
  • NHANES指标推荐:CTI
  • NOIP2012提高组.同余方程
  • Java基础复习(JavaSE进阶)第九章 网络编程
  • “非思”的思想——探索失语者的思想史
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 刘国中:毫不松懈巩固拓展脱贫攻坚成果,全力以赴抓好农业防灾减灾工作
  • 吴志朴当选福建德化县人民政府县长
  • 海口市政协党组成员、秘书长、机关党组书记汪娟被查
  • 住房和城乡建设部办公厅主任李晓龙已任部总工程师