"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Teste o roteamento da variável de caminho Go-Chi: resolva a falha em lidar com o erro da entidade

Teste o roteamento da variável de caminho Go-Chi: resolva a falha em lidar com o erro da entidade

Postado em 2025-04-18
Navegar:444

How to Test Go-Chi Routes with Path Variables:  Resolving Unprocessable Entity Errors

Testando as rotas de Chi com variáveis ​​de caminho: Solução de problemas e soluções

no Go-Chi, o acesso variável de caminho dentro das rotas é facilitado por funções de middleware como ArticlectX. Ao testar essas rotas, é essencial definir a variável de caminho no contexto da solicitação HTTP manualmente. Isso ocorre porque o contexto não é preenchido automaticamente pelo pacote httptest. No entanto, a execução do middleware Articlectx durante o teste retorna um erro HTTP (entidade não processável), indicando que o contexto da variável do caminho não está disponível.

solução:
A solução está em adição manualmente no parâmetro do caminho para o contexto da solicitação antes da mão: variável req: = httptest.newRequest ("get", "/artigos/1", nil) rctx: = chi.newRouteContext () rctx.urlparams.add ("ArtigoId", "1") // Defina o Routectx no contexto de solicitação req = req.withcontext (context.withValue (req.context (), chi.Routectxkey, rctx)) // execute o manipulador com a solicitação modificada Rec: = httptest.newrecorder () Articlectx (http.handlerfunc (getArticleId)). Servhttp (rec, req)

adicionando a variável do caminho ao contexto da solicitação, o middleware articlecx pode recuperar corretamente o id do artigo, resolvendo o erro de entidade adicional não ocorre. Práticas:

Considere uma estrutura de teste como testemunhar o teste de unidade simplificado. cubra vários cenários, como lidar com pedidos ruins ou erros no nível da rota.
 
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3