e2e tests hide the CLI output when an exit code assertion fails

Abierto Apto para principiantes
#292 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github-actions, node.js, typescript

Línea de trabajo

Empieza por e2e/helpers/run-cli.ts y revisa cómo los tests e2e llaman a runCli y comprueban los códigos de salida; el issue cita e2e/cli-login.test.ts como ejemplo. Comprueba cómo #274 pasa la salida de la CLI como mensaje de la aserción y, después, incluye la salida en todas las comprobaciones de códigos de salida en e2e/ para que los errores muestren stdout y stderr. El trabajo estará terminado cuando todas esas comprobaciones incluyan la salida y los tests e2e pasen.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
Which package is this bug report for?

@nanoforge-dev/cli

Which command is this bug report for?

other

Issue description

When an e2e test that spawns nf fails on its exit code, the failure shows only AssertionError: expected 1 to be +0, not what nf printed. The cause then has to be guessed or rerun with extra logging.

  • Most e2e tests destructure only exitCode from runCli and assert expect(exitCode).toBe(0): 50 such assertions under e2e/ on main (e.g. cli-login.test.ts#L63).
  • Found while making the Windows CI pass (#273): 14 Windows failures in install, login, logout, publish and unpublish showed only the exit code, and the cause could only be inferred.
  • #274 adds the CLI output as the assertion message to the 3 nf install (with existing project) tests only, as a diagnostic: expect(exitCode, output).toBe(0), where the message is the CLI's stdout and stderr.

Expected: every exit-code assertion in e2e/ shows the CLI's stdout and stderr when it fails, for example through a helper next to e2e/helpers/run-cli.ts.

Code sample
// e2e/cli-login.test.ts (main)
const { exitCode } = await runLogin(["--local", "--api-key", "test-api-key"]);
expect(exitCode).toBe(0); // on failure: "expected 1 to be +0", nothing else
Versions
  • @nanoforge-dev/cli main (e95b881)
  • Node.js 26
  • Seen on windows-latest GitHub runners; the same on every OS
Issue priority

Low (slightly annoying)

I have tested this issue on a development release

e95b881

Lenguaje dominante
TypeScript
Estrellas
2
Forks
2
Merge medio
2 d 18 h
PR fusionados (30 d)
17

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NanoForge-dev/CLI

Todos los issues de NanoForge-dev/CLI

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.