Python配置与测试利器:Hydra + pytest的完美结合

2023-12-17

简介 Hydrapytest 可以一起使用,基于 Hydra + Pytest 的应用可以轻松地管理复杂配置,并编写参数化的单元测试,使得Python开发和测试将变得更为高效。

安装:

pip install hydra-core pytest

案例源码 :my_app.py

# -*- coding: utf-8 -*-
# time: 2023/06/29 18:01
# file: my_app.py
# 公众号: 咖啡加剁椒
import hydra
from omegaconf import DictConfig
 
 
@hydra.main(config_path="conf", config_name="config", version_base="1.1")
def my_app(cfg: DictConfig) -> int:
    return multiply(cfg.x, cfg.y)
 
 
def multiply(x: int, y: int) -> int:
    return x * y
 
 
if __name__ == "__main__":
    my_app()

测试用例:test_hy.py
  
# -*- coding: utf-8 -*-
# time: 2023/6/29 18:08
# file: test_hy.py
# 公众号:咖啡加剁椒
 
import pytest
from my_app import multiply
 
 
@pytest.mark.parametrize("x, y, expected", [(5, 3, 15), (2, 4, 8)])
def test_multiply(x, y, expected):
    assert multiply(x, y) == expected

同级目录下 :新建conf目录,新建文件 config.yaml

# conf/config.yaml
x: 5
y: 3

运行结果:

(pytf-cpu) C:\Users\>pytest test_hy.py
====================================================================== test session starts ========
platform win32 -- Python 3.8.13, pytest-7.3.1, pluggy-1.0.0
rootdir: C:\Users\
plugins: hydra-core-1.3.2
collected 2 items
 
test_hy.py ..                                                                                [100%]
 
======================================================================= 2 passed in 0.04s =========

注意事项:Hydra 在 pytest 环境中的行为可能与在常规 Python 环境中的行为略有不同,因为 pytest 可能会干扰 Hydra 的工作方式。如果在测试中遇到任何问题,建议查阅 Hydra 和 pytest 的官方文档,或在相关社区寻求帮助。

实际上,可以利用 Hydra 的强大功能和 pytest 的灵活性,创建更复杂的测试和应用。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python配置与测试利器:Hydra + pytest的完美结合 的相关文章

随机推荐

  • gdi32.dll文件缺失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个gdi32 d
  • 计算机毕业设计:基于python二手商品交易网站 二手商品交易系统(附源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机专业毕业设计选题汇总 建议收藏 毕业设计
  • 布隆过滤器

    布隆过滤器地提出 我们在使用新闻客户端看新闻时 它会给我们不停地推荐新的内容 它每次推荐时要去重 去掉 那些已经看过的内容 问题来了 新闻客户端推荐系统如何实现推送去重的 用服务器记录了用 户看过的所有历史记录 当推荐系统推荐新闻时会从每个
  • gameux.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个gameux
  • FXSCOMEX.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个FXSCOME
  • FXSCOM.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个FXSCOM
  • glmf32.dll文件缺失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个glmf32
  • 大数据毕业设计:基于python商品数据采集分析可视化系统 淘宝数据采集 大数据 大屏可视化(附源码+论文)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机专业
  • 测试为什么分白盒、黑盒、单元、集成测试?

    对于想进入测试行业的小萌新 本文的诉求主要分为三块 1 想知道分为这么多种测试的原因 2 解决各种概念问题 3 提供各种软件测试工具 安排 一 为什么测试的概念这么多 一个软件项目就好比一部复杂的汽车 有很多零件 当每个零件生产完成后 就要
  • 题解 | #某宝店铺连续2天及以上购物的用户及其对应的天数#

    腾讯财经线暑期实习生面经 前女友突然在我的婚礼现场求复合怎么办 不妙了 好像自己真成小丑了 华为实习 提前批面试 池子里泡了一百多天了 发的一堆sp被鸽麻了 求求大家投下小米 HC还剩50 剩下不到半个月去哪招人呀 求求大家投下小米吧 发的
  • 微信小程序开发前环境搭建

    下载安装微信小程序开发者工具 官方地址 注册微信开发者账号 注册完毕 登录微信公众平台官网扫码登录 创建项目
  • Jmeter 简单的压力测试!

    今天我们一起利用Apache Jmeter 一种接口测试工具 来进行压力测试学习 压力测试主要目的是测试负载均衡的实现效果 安装Jmeter这里就不做阐述了 上网下载个最新版就可以了 因为Jmeter是由JAVA语言开发的 所以安装之前先把
  • FXSEXT32.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个FXSEXT3
  • gpapi.dll文件缺失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个gpapi d
  • FXSRESM.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个FXSRESM
  • Web自动化测试之图文验证码的解决方案

    对于web应用程序来讲 处于安全性考虑 在登录的时候 都会设置验证码 验证码的类型种类繁多 有图片中辨别数字字母的 有点击图片中指定的文字的 也有算术计算结果的 再复杂一点就是滑动验证的 诸如此类的验证码 对我们的系统增加了安全性的保障 但
  • 华为OD机试真题-考古学家-2023年OD统一考试(C卷)

    题目描述 有一个考古学家发现一个石碑 但是很可惜 发现时其已经断成多段 原地发现n个断口整齐的石碑碎片 为了破解石碑内容 考古学家希望有程序能帮忙计算复原后的石碑文字组合数 你能帮忙吗 输入描述 第一行输入n n表示石碑碎片的个数 第二行依
  • 华为OD机试真题-密码解密-2023年OD统一考试(C卷)

    题目描述 给定一段 密文 字符串s 其中字符都是经过 密码本 映射的 现需要将 密文 解密并且输出 映射的规则 a i 分别用 1 9 表示 j z 分别用 10 26 表示 约束 映射始终唯一 输入描述 密文 字符串 输出描述 明文字符串
  • 车载以太网-物理层

    文章目录 车载以太网物理层 100BASE T1 和 1000BASE T1 100BASE TX 测试 车载以太网物理层 车载以太网物理层 Automotive Ethernet PHY 是指车载以太网系统中负责实现物理层功能的部分 物理
  • Python配置与测试利器:Hydra + pytest的完美结合

    简介 Hydra 和 pytest 可以一起使用 基于 Hydra Pytest 的应用可以轻松地管理复杂配置 并编写参数化的单元测试 使得Python开发和测试将变得更为高效 安装 pip install hydra core pytes