es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe alguna manera de parametrizar un pytest con varios tipos de datos en una misma prueba?

Actualmente tengo esta implementación donde estoy ejecutando un pytest parametrizado de la siguiente manera:

@pytest.mark.parametrize('int_val', [1, 0])
def test_int_val(self, int_val: int):
    # realiza todos los pasos

y ejecutando la misma prueba con valores booleanos de esta manera:

@pytest.mark.parametrize('bool_val', [True, False])
def test_bool_val(self, bool_val: int):
    # realiza todos los pasos

¿Hay alguna manera de combinar ambas pruebas en una sola prueba?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible combinar ambos tests en un solo test utilizando el método “pytest.mark.parametrize”. Aquí hay un ejemplo de implementación:

    @pytest.mark.parametrize('int_val, bool_val', [(1, True), (0, False)])
    def test_combined(self, int_val: int, bool_val: bool):
        # realiza todos los pasos tanto para los valores int como para los bool
    

    Esto ejecutará el mismo test con los parámetros “int_val” y “bool_val” de manera combinada. Puedes reemplazar los valores de la tupla con los casos de prueba deseados.

Comments are closed.