Antes de escribir muchas pruebas, necesitamos preparar un entorno de trabajo ordenado. En testing esto es importante porque las pruebas deben poder ejecutarse varias veces, en el mismo proyecto, con las mismas dependencias y desde comandos simples.
En este tema veremos cómo verificar Python, usar la terminal, crear una carpeta de proyecto, configurar un entorno virtual, instalar herramientas de testing y preparar el editor para trabajar con comodidad.
Para comenzar con Testing en Python necesitamos pocas herramientas:
unittest no se instala porque ya viene incluido con Python.
Abre una terminal y ejecuta:
python --version
Una salida válida puede ser:
Python 3.12.3
Para este curso conviene usar una versión moderna de Python 3. Si tienes Python 3.10, 3.11, 3.12 o superior, puedes seguir sin problemas la mayoría de los ejemplos.
pip permite instalar paquetes externos. Para comprobar que está disponible, ejecuta:
python -m pip --version
Usamos python -m pip en lugar de solo pip porque así nos aseguramos de ejecutar el pip asociado al Python que estamos usando.
Crearemos una carpeta general para las prácticas del curso:
mkdir curso-testing-python
cd curso-testing-python
Dentro de esta carpeta podemos crear proyectos pequeños para practicar cada tema. Mantener los ejercicios separados ayuda a no mezclar archivos y facilita repetir comandos.
Dentro de la carpeta del curso, crea un proyecto llamado entorno-demo:
mkdir entorno-demo
cd entorno-demo
La carpeta queda lista para alojar código Python, pruebas y configuración del proyecto.
Desde la carpeta entorno-demo, ejecuta:
python -m venv .venv
Esto crea una carpeta llamada .venv con una instalación aislada de Python para este proyecto.
En Windows PowerShell:
.venv\Scripts\Activate.ps1
En Windows CMD:
.venv\Scripts\activate.bat
En Linux o macOS:
source .venv/bin/activate
Cuando el entorno virtual está activo, normalmente la terminal muestra (.venv) al comienzo de la línea.
Con el entorno virtual activo, ejecuta:
python -c "import sys; print(sys.executable)"
La ruta impresa debería apuntar a la carpeta .venv. Eso confirma que la terminal está usando el Python del entorno virtual y no otro Python instalado en el sistema.
Antes de instalar herramientas, es una buena práctica actualizar pip dentro del entorno virtual:
python -m pip install --upgrade pip
Este comando actualiza solamente el pip del entorno activo.
Ahora instalamos pytest:
python -m pip install pytest
Luego verificamos:
pytest --version
También podemos ejecutar pytest como módulo de Python:
python -m pytest --version
La variante python -m pytest es útil porque evita confusiones cuando hay varias instalaciones de Python en el mismo equipo.
Un archivo requirements.txt permite registrar las dependencias del proyecto. Para este ejemplo, crea un archivo con este contenido:
pytest
Otra forma de generarlo automáticamente es:
python -m pip freeze > requirements.txt
Más adelante veremos alternativas modernas con pyproject.toml, pero requirements.txt sigue siendo muy útil para proyectos simples y ejercicios.
Si otra persona recibe el proyecto, puede instalar las dependencias con:
python -m pip install -r requirements.txt
Este comando lee el archivo e instala los paquetes indicados. Es una forma simple de repetir el entorno en otro equipo.
Puedes usar cualquier editor que permita trabajar cómodamente con archivos Python. Una opción frecuente es Visual Studio Code.
Si usas Visual Studio Code, conviene instalar la extensión oficial de Python y seleccionar el intérprete del entorno virtual. Normalmente se hace desde la paleta de comandos con la opción Python: Select Interpreter.
El intérprete correcto debe apuntar a la carpeta .venv del proyecto.
Muchos editores incluyen una terminal integrada. Esto es cómodo porque permite escribir código y ejecutar pruebas sin salir del editor.
La regla importante es la misma: la terminal debe estar ubicada en la carpeta del proyecto y debe tener activo el entorno virtual antes de instalar paquetes o ejecutar pruebas.
cd ruta/al/proyecto
.venv\Scripts\Activate.ps1
pytest
Para comprobar que el editor y la terminal funcionan, crea un archivo llamado saludo.py:
def saludar(nombre):
return f"Hola, {nombre}"
Luego crea un archivo llamado test_saludo.py:
from saludo import saludar
def test_saludar_devuelve_mensaje_con_nombre():
assert saludar("Ana") == "Hola, Ana"
Ejecuta:
pytest
Si todo está bien, la prueba debe pasar.
La carpeta del proyecto debería quedar parecida a esta:
entorno-demo/
|-- .venv/
|-- requirements.txt
|-- saludo.py
`-- test_saludo.py
En proyectos reales agregaremos carpetas como tests, archivos de configuración y más módulos Python, pero esta estructura alcanza para comprobar que el entorno funciona.
Cuando termines de trabajar, puedes desactivar el entorno virtual con:
deactivate
Al hacerlo, desaparece el indicador (.venv) de la terminal. Para volver a trabajar en el proyecto, solo debes activar nuevamente el entorno.
pytest no fue instalado en ese entorno..venv.test_*.py y que estés ejecutando el comando desde la carpeta correcta.Antes de continuar con el próximo tema, verifica lo siguiente:
python --version.python -m pip --version funciona correctamente..venv.pytest --version muestra una versión instalada.test_saludo.py pasa al ejecutar pytest.En este tema preparamos el entorno necesario para trabajar con Testing en Python. Verificamos Python y pip, creamos un proyecto, configuramos un entorno virtual, instalamos pytest, registramos dependencias y comprobamos el funcionamiento con una prueba mínima.
Esta preparación evita muchos problemas posteriores. Una vez que el entorno está bien armado, escribir y ejecutar pruebas se vuelve un proceso simple y repetible.
En el próximo tema crearemos un proyecto de ejemplo más completo, con código preparado especialmente para practicar distintos tipos de pruebas.