1. Preparación del entorno para Testing: Python, terminal y editor

1.1 Objetivo del tema

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.

Objetivo práctico: dejar listo un entorno mínimo para ejecutar pruebas con unittest y pytest desde la terminal.

1.2 Qué necesitamos instalar

Para comenzar con Testing en Python necesitamos pocas herramientas:

  • Python: el lenguaje y su biblioteca estándar.
  • pip: el instalador de paquetes de Python.
  • venv: módulo incluido en Python para crear entornos virtuales.
  • pytest: framework de pruebas que instalaremos dentro del entorno virtual.
  • Un editor: por ejemplo Visual Studio Code, PyCharm, Sublime Text o cualquier editor que maneje archivos Python.
  • Una terminal: PowerShell, CMD, Terminal de Linux, Terminal de macOS o la terminal integrada del editor.

unittest no se instala porque ya viene incluido con Python.

1.3 Verificar 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.

1.4 Verificar pip

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.

1.5 Crear una carpeta para el curso

Crearemos una carpeta general para las prácticas del curso:

mkdir curso-testing-python
cd curso-testing-python
Creación de la carpeta del curso en la terminal

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.

1.6 Crear un primer proyecto de trabajo

Dentro de la carpeta del curso, crea un proyecto llamado entorno-demo:

mkdir entorno-demo
cd entorno-demo
Creación del proyecto entorno-demo en la terminal

La carpeta queda lista para alojar código Python, pruebas y configuración del proyecto.

1.7 Crear el entorno virtual

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.

Recomendación: usa un entorno virtual por proyecto. Así las dependencias de una práctica no afectan a otras prácticas ni a otros proyectos.
Creación del entorno virtual del proyecto

1.8 Activar el entorno virtual

En Windows PowerShell:

.venv\Scripts\Activate.ps1
Activación del entorno virtual en Windows PowerShell

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.

1.9 Comprobar qué Python se está usando

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.

1.10 Actualizar pip

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.

1.11 Instalar pytest

Ahora instalamos pytest:

python -m pip install pytest
Instalación de pytest con pip

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.

1.12 Crear un archivo requirements.txt

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
Generación del archivo requirements.txt con pip freeze

Más adelante veremos alternativas modernas con pyproject.toml, pero requirements.txt sigue siendo muy útil para proyectos simples y ejercicios.

1.13 Instalar dependencias desde requirements.txt

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.

1.14 Elegir y preparar el editor

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.

1.15 Usar la terminal integrada del editor

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

1.16 Crear un archivo Python de prueba del entorno

Para comprobar que el editor y la terminal funcionan, crea un archivo llamado saludo.py:

def saludar(nombre):
    return f"Hola, {nombre}"
Código de la función saludar en el archivo saludo.py

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.

Ejecución exitosa de la prueba con pytest

1.17 Estructura obtenida

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.

1.18 Desactivar el entorno virtual

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.

1.19 Problemas frecuentes

  • pytest no se reconoce como comando: probablemente el entorno virtual no está activo o pytest no fue instalado en ese entorno.
  • El editor marca imports como inexistentes: posiblemente está usando otro intérprete de Python y no el de .venv.
  • python no se reconoce: Python no está instalado o no fue agregado al PATH del sistema.
  • No se encuentran las pruebas: revisa que el archivo se llame test_*.py y que estés ejecutando el comando desde la carpeta correcta.
  • PowerShell bloquea la activación: puede deberse a la política de ejecución de scripts. Como alternativa temporal puedes usar CMD o activar desde la terminal integrada del editor configurada correctamente.

1.20 Lista de verificación

Antes de continuar con el próximo tema, verifica lo siguiente:

  • La terminal muestra una versión de Python con python --version.
  • python -m pip --version funciona correctamente.
  • El proyecto tiene un entorno virtual creado en .venv.
  • El entorno virtual se puede activar y desactivar.
  • pytest --version muestra una versión instalada.
  • La prueba del archivo test_saludo.py pasa al ejecutar pytest.
  • El editor usa el intérprete del entorno virtual.

1.21 Conclusión

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.