Sobes.tech
Junior — Middle

¿Cómo determina PyTest qué funciones o casos de prueba deben ejecutarse durante la prueba?

sobes.tech AI

Respuesta de la IA

PyTest detecta automáticamente funciones y métodos de prueba según reglas específicas de nomenclatura y estructura. Por defecto, busca:

  • Funciones cuyos nombres comienzan con test_.
  • Métodos dentro de clases cuyos nombres comienzan con test_, siempre que la clase también comience con Test y no herede de unittest.TestCase.
  • Archivos cuyos nombres comienzan con test_ o terminan en _test.py.

De esta manera, PyTest escanea directorios, encuentra estos archivos, los importa y ejecuta todas las funciones y métodos que cumplen con estos criterios. Esto facilita la organización de pruebas sin necesidad de registrarlas explícitamente.

Ejemplo:

# test_example.py

def test_sum():
    assert sum([1, 2, 3]) == 6

class TestMath:
    def test_multiply(self):
        assert 2 * 3 == 6

Al ejecutar pytest, estas dos pruebas serán detectadas y ejecutadas.