e2e tests hide the CLI output when an exit code assertion fails
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
- Área
- cli, developer-experience, testing-qa
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
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
exitCodefromrunCliand assertexpect(exitCode).toBe(0): 50 such assertions undere2e/onmain(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
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NanoForge-dev/CLI
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NanoForge-dev/CLI#294 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NanoForge-dev/CLI#293 ·
Los mantenedores suelen responder en 1 día
-
command:dev enhancement good first issue refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NanoForge-dev/CLI#281 ·
Los mantenedores suelen responder en 1 día
-
bug command:build good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NanoForge-dev/CLI#276 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
NanoForge-dev/CLI#228 ·
Los mantenedores suelen responder en 1 día
Todos los issues de NanoForge-dev/CLI
Issues similares
-
Mend: dependency security vulnerability
Dificultad 1/5 1-3 horas Aptitud para principiantes 65/100
fdm-monster/fdm-monster#5563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
growilabs/growi#12246 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededPosiblemente ocupada @github-actions la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SSWConsulting/SSW.Rules#2809 · 1 comentario ·
Los mantenedores suelen responder en 1 día