Allow simpler tests for error.code
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- testing-qa
Línea de trabajo
Comienza localizando los puntos de entrada de las aserciones throw() y reject() y el comportamiento existente de contain(). Añade cobertura de pruebas para un mensaje opcional y el objeto de propiedades de error propuesto, incluido el ejemplo ERR_INVALID_ARG_TYPE, y confirma que ambas aserciones conservan su comportamiento actual.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Support plan
- is this issue currently blocking your project? (yes/no): no
- is this issue affecting a production system? (yes/no): no
Context
- node version: any
- module version: 8.0.3
- environment (e.g. node, browser, native): node
- used with (e.g. hapi application, another framework, standalone, ...):
- any other relevant information:
What problem are you trying to solve?
To test for the .code property attached to node errors (instead of .message) that are not fixed).
Currently I have to do this manually, eg. for throw():
const Code = require('code');
const expect = Code.expect;
const err = expect(() => process.chdir(42)).to.throw(TypeError);
expect(err).to.contain({ code: 'ERR_INVALID_ARG_TYPE' });
// or as one-liner
expect(expect(() => process.chdir(42)).to.throw(TypeError)).to.contain({ code: 'ERR_INVALID_ARG_TYPE' });
Do you have a new or modified API suggestion to solve the problem?
Add a third has parameter to throw() and reject(), which takes an object which is passed to a contain() test. Also make the message optional (works since it uses a string and type must be instanceof Error). Eg.
expect(() => process.chdir(42)).to.throw(TypeError, { code: 'ERR_INVALID_ARG_TYPE' });
- Lenguaje dominante
- JavaScript
- Estrellas
- 231
- Forks
- 75
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 hapijs/code
-
Incorrect prototype checkAbiertosupport
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
-
pass parameter to throwAbiertofeature
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de hapijs/code
Issues similares
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inferencePosiblemente ocupada @alok-108 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/playwright#43263 ·
Los mantenedores suelen responder en 1 día
-
bug traffic
Dificultad 2/5 Menos de una hora Aptitud para principiantes 74/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
processing/p5.sound.js#123 ·
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
PhilflowIO/dav-mcp#146 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
career-ops-hq/career-ops#4910 · 2 comentarios ·
Los mantenedores suelen responder en 2 días