Allow simpler tests for error.code
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- testing-qa
Direção de pesquisa
Comece localizando os pontos de entrada das asserções throw() e reject() e o comportamento existente de contain(). Adicione cobertura de testes para uma mensagem opcional e para o objeto de propriedades de erro proposto, incluindo o exemplo ERR_INVALID_ARG_TYPE, e confirme que ambas as asserções mantêm seu comportamento atual.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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' });
- Linguagem predominante
- JavaScript
- Estrelas
- 231
- Forks
- 75
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de hapijs/code
-
Incorrect prototype checkAbertasupport
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
-
pass parameter to throwAbertafeature
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
Todas as issues de hapijs/code
Issues semelhantes
-
ci-install-db-tools stall-case tests flake: stalled apt-get can be killed before it logs its callAbertaeffort:low model:light plan planner:opus-5-5 tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
-
Bug 🐞
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
mozilla-mobile/firefox-ios#35986 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
bug(sight): the dashboard's text truncations split surrogate pairs and show broken charactersAbertacomponent:sight
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
agentic-os-org/ANOLISA#6738 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug Durable Agents Observability (AI Telemetry) status: needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
mastra-ai/mastra#26470 · 1 comentário ·
Mantenedores costumam responder em até 1 dia