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:
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