Si el Explorador de pruebas de Python de VS Code no encuentra pruebas, informa errores de importación o parece buscar en la carpeta incorrecta en macOS, verifique primero el directorio de trabajo de pruebas de Python y los argumentos del framework. Establezca python.testing.cwd en el directorio que espera su comando de prueba, luego actualice el descubrimiento e inspeccione el registro de salida de Python. Para unittest, verifique también su argumento independiente de directorio de inicio -s; cambiar cwd no reemplaza esa configuración.

Confirmar qué directorio está usando VS Code

Abra el Explorador de pruebas y ejecute Prueba: Actualizar pruebas desde la paleta de comandos (⇧⌘P). Si el descubrimiento falla, abra Ver > Salida, elija Python en el menú del canal de salida y lea la entrada de descubrimiento más reciente. La extensión de Python envía los errores de descubrimiento a este registro, lo que puede ayudar a distinguir un problema de ruta de un framework faltante o un error de sintaxis. VS Code documenta estos pasos de descubrimiento y registro.

Compruebe qué carpeta está abierta en la ventana de VS Code. En un espacio de trabajo de una sola carpeta, el espacio de trabajo suele ser la raíz del proyecto. Si abrió la carpeta principal de un repositorio o un espacio de trabajo multirraíz, las rutas relativas pueden resolverse desde una raíz diferente a la que asumió. El directorio actual de una terminal no es suficiente para determinar el directorio que utilizó la extensión; observe la salida del descubrimiento y la configuración del espacio de trabajo. En un espacio de trabajo multirraíz, VS Code permite configuraciones específicas de carpeta, y ${workspaceFolder} hace referencia a la carpeta asociada con la configuración. La guía del espacio de trabajo de VS Code explica las carpetas multirraíz, y su referencia de variables cubre las rutas con ámbito de carpeta.

Establecer el directorio de trabajo de pruebas de Python

Por ejemplo, si abrió la raíz del repositorio pero su comando de prueba debe ejecutarse desde su subcarpeta backend, abra la configuración del espacio de trabajo en Mac con ⇧⌘P y seleccione Preferencias: Abrir configuración del espacio de trabajo (JSON). Agregue o combine esta clave en el objeto JSON existente:

{
  "python.testing.cwd": "${workspaceFolder}/backend"
}

Utilice el directorio real para su proyecto. Si las pruebas deben ejecutarse en la raíz del espacio de trabajo, puede omitir esta configuración o establecerla en ${workspaceFolder}. Evite un valor relativo simple como backend si no está seguro de respecto a qué raíz es relativo; la variable de espacio de trabajo explícita aclara la base deseada. La configuración del espacio de trabajo tiene prioridad sobre la configuración del usuario, así que inspeccione ambos ámbitos si su cambio parece no tener efecto. VS Code almacena la configuración del espacio de trabajo de una sola carpeta en .vscode/settings.json; use la pestaña Espacio de trabajo del editor de Configuración para revisar el valor activo. La configuración del espacio de trabajo y su precedencia se describen en la documentación de configuración de VS Code.

La configuración cwd de la extensión de Python es opcional. Su documentación indica que configurarla también ajusta --rootdir de pytest; rootdir es la configuración de la raíz del proyecto de pytest, por lo que no debe considerarse intercambiable con el argumento de búsqueda de pruebas de todos los frameworks. La referencia de configuración de pruebas de Python identifica este comportamiento de pytest.

Comprobar los argumentos de descubrimiento específicos del framework

Para pytest, revise python.testing.pytestArgs en busca de una ruta que apunte a un lugar inesperado. Una ruta como tests le indica a pytest qué recopilar, mientras que python.testing.cwd establece el contexto del directorio de trabajo. Mantenga solo los argumentos que su proyecto necesita y asegúrese de que la ruta sea coherente con ese contexto. Después de editar, ejecute nuevamente Prueba: Actualizar pruebas. La extensión descubre archivos de pytest que coinciden con sus convenciones en la carpeta actual y sus subcarpetas; el descubrimiento aún puede fallar por motivos no relacionados con cwd, incluida una instalación de pytest no disponible o errores en los archivos de prueba. La guía oficial de pruebas detalla el comportamiento del descubrimiento y la notificación de errores comunes.

Para unittest, inspeccione python.testing.unittestArgs por separado. Sus argumentos predeterminados incluyen -s ., donde -s selecciona el directorio de inicio. Si las pruebas residen en backend/tests y cwd es la raíz del repositorio, configure el directorio de inicio en consecuencia, por ejemplo:

{
  "python.testing.cwd": "${workspaceFolder}",
  "python.testing.unittestEnabled": true,
  "python.testing.pytestEnabled": false,
  "python.testing.unittestArgs": ["-v", "-s", "backend/tests", "-p", "*test*.py"]
}

Este es un ejemplo para un proyecto que utiliza unittest; no lo copie sin modificaciones si su framework o la nomenclatura de sus archivos difieren. unittest también requiere que los archivos de prueba descubiertos sean módulos o paquetes importables. Si el registro muestra errores de importabilidad en una subcarpeta de pruebas, compruebe la estructura del paquete; VS Code señala que un archivo __init__.py puede hacer que dichas carpetas sean importables. La guía oficial describe las opciones -s y -p de unittest.

Actualizar y aislar los errores restantes

Después de cambiar la configuración, ejecute nuevamente Prueba: Actualizar pruebas. Si VS Code aún utiliza un entorno inesperado, ejecute Python: Seleccionar intérprete y elija el entorno que tiene instalado su framework de pruebas; el intérprete seleccionado se utiliza para las funciones de Python, incluidas las pruebas. La guía de entornos de Python de VS Code explica la selección de intérpretes.

Si la salida sigue mostrando la ruta incorrecta, compare el directorio de trabajo registrado con la raíz del espacio de trabajo y los argumentos de prueba configurados. Si la ruta es correcta pero el descubrimiento falla, siga el error real en su lugar: verifique la instalación del framework, los errores de importación, los errores de sintaxis y los patrones de nombres de archivos de prueba. Un ajuste de cwd no puede corregir esos problemas independientes. Si un proyecto configurado correctamente aún registra una ruta inconsistente o ignora la configuración, capture la salida de Python y la configuración relevante al reportar el problema; no existe un comando universal de VS Code que obligue a cada framework de pruebas a utilizar un directorio diferente.

Fuentes