Herramienta de configuración y testing de Python: la combinación perfecta de Hydra + pytest

Introducción : Hydra y pytest se pueden usar juntos. Las aplicaciones basadas en Hydra + Pytest pueden administrar fácilmente configuraciones complejas y escribir pruebas unitarias parametrizadas, lo que hace que el desarrollo y las pruebas de Python sean más eficientes.

Instalar:

pip install hydra-core pytest

Código fuente del caso : 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()

Caso de prueba : 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

En el directorio del mismo nivel : cree un nuevo directorio conf y cree un nuevo archivo config.yaml

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

resultado de la operación:

(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 =========

Nota : Hydra puede comportarse de forma ligeramente diferente en un entorno pytest que en un entorno Python normal, ya que pytest puede interferir con la forma en que funciona Hydra. Si encuentra algún problema en la prueba, se recomienda consultar la documentación oficial de Hydra y pytest, o buscar ayuda en las comunidades correspondientes.

De hecho, es posible aprovechar el poder de Hydra y la flexibilidad de pytest para crear pruebas y aplicaciones más complejas.

Finalmente: para retribuir a los fanáticos acérrimos, he compilado un video tutorial de aprendizaje de prueba de software completo para usted. Si lo necesita, puede obtenerlo gratis【保证100%免费】
inserte la descripción de la imagen aquí

Documentación de la entrevista de prueba de software

Debemos estudiar para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de empresas de Internet de primer nivel como Ali, Tencent y Byte, y algunos jefes de Byte han dado respuestas autorizadas. Termine este conjunto Los materiales de la entrevista creen que todo el mundo puede encontrar un trabajo satisfactorio.

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_67695717/article/details/131462716
Recomendado
Clasificación