Cómo hacer tests en el track de Prolog

Aprende a probar tus ejercicios de Prolog en Exercism


SWI Prolog se puede ejecutar de forma interactiva o directamente desde la línea de comandos.

Línea de comandos

El siguiente comando sirve para ejecutar los tests desde la línea de comandos:

swipl -f <exercise>.pl -s <exercise>_tests.plt -g run_tests,halt -t 'halt(1)'

Sustituye <exercise> por el nombre del ejercicio que estás implementando.

Modo interactivo

Para ejecutar Prolog de forma interactiva, primero ejecuta:

swipl

Cuando se inicie la consola de Prolog, carga tu implementación y ejecuta los tests con:

?- ["<exercise>.pl"].
?- ["<exercise>_tests.plt"].
?- run_tests.

Sustituye <exercise> por el nombre del ejercicio que estás implementando.

Recargar los cambios

Una vez cargados los ficheros anteriores, puedes aplicar los cambios que hayas hecho ejecutando:

?- make.

Tests omitidos

Cuando empiezas un ejercicio, solo se ejecuta el primer test. Los demás se han omitido añadiendo condition(pending) al objetivo test. Cuando el primer test pase, deja de omitir el siguiente test cambiando pending por true en condition(pending). Repite esto con cada test hasta que todos se ejecuten y pasen.

Línea de comandos

Añade el argumento -- --all al final del comando para ejecutar también los tests pendientes:

swipl -f <exercise>.pl -s <exercise>_tests.plt -g run_tests,halt -t 'halt(1)' -- --all