Skip to main content

resolve tests

[Asociación profunda] Busca pruebas unitarias de QL en los directorios dados.

¿Quién puede utilizar esta característica?

CodeQL está disponible para los siguientes tipos de repositorios:

En este contenido se describe la versión más reciente de CodeQL CLI. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.

Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help en el terminal.

Sinopsis

Shell
codeql resolve tests <options>... -- <test|dir>...

Descripción

[Asociación profunda] Busca pruebas unitarias de QL en los directorios dados.

Este comando de asociación es responsable de expandir los parámetros de línea de comandos de los subcomandos que ejecutan pruebas unitarias de QL a una lista real de archivos .ql y .qlref individuales que se van a ejecutar.

Opciones

Opciones principales

<test|dir>...

Cada argumento es uno de los siguientes:

  • Un archivo .ql o .qlref que define una prueba que se va a ejecutar.
  • Directorio en el que se buscarán de manera recursiva las pruebas que se van a ejecutar.

--slice=<N/M>

[Avanzado] Divide los casos de prueba en M trozos de tamaño aproximadamente igual y procesa solo el enésimo de ellos. Esto se puede usar para la paralelización manual del proceso de prueba.

--[no-]strict-test-discovery

[Avanzado] Usa solo consultas que se puedan identificar de forma segura como pruebas. Este modo intenta distinguir entre los archivos .ql que definen pruebas unitarias y los archivos .ql destinados a ser consultas útiles. Esta opción la usan herramientas (como los IDE) que necesitan identificar todas las pruebas unitarias de un árbol de directorio sin que esto dependa de saber previamente cómo se organizan los archivos de este.

Dentro de un paquete de QL cuyo objeto qlpack.yml declara un directorio tests, todos los archivos .ql de ese directorio se consideran pruebas y se omitirán los archivos .ql que se encuentren fuera de él. En un paquete de QL que no declare un directorio tests, un archivo .ql se identifica como prueba solo si tiene un archivo .expected correspondiente.

Para mantener la coherencia, los archivos .qlref están limitados por las mismas reglas que los archivos .ql, aunque un archivo .qlref solo puede ser de prueba.

--format=<fmt>

Selecciona el formato de salida, ya sea text (predeterminado) o json.

Opciones comunes

-h, --help

Muestra este texto de ayuda.

-J=<opt>

[Avanzado] Asigna la opción a la JVM que ejecuta el comando.

(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).

-v, --verbose

Aumenta incrementalmente el número de mensajes de progreso impresos.

-q, --quiet

Reduce incrementalmente el número de mensajes de progreso impresos.

--verbosity=<level>

[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida -v y -q.

--logdir=<dir>

[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.

(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr y redirige stderr como quieras).

--common-caches=<dir>

[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado .codeql en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.