тестирование маршрутов CHI с переменными пути: устранение неполадок и решений
в go-chi, переменный путь в пределах маршрутов облегчается промежуточными функциями, такими как articlectx. При тестировании таких маршрутов важно установить переменную пути в контексте HTTP -запроса вручную. Это связано с тем, что контекст не заполняется автоматически пакетом HTTPT. Однако выполнение промежуточного программного обеспечения Articlectx во время теста возвращает ошибку HTTP (необработанная сущность), указывая на то, что контекст переменной пути недоступен. переменная req: = httptest.newRequest ("Get", "/ofty/1", ноль) rctx: = chi.newroutecontext () rctx.urlparams.add ("articleid", "1") // Установить Routectx в контексте запроса req = req.withcontext (context.withvalue (req.context (), chi.routectxkey, rctx))) // выполнить обработчик с измененным запросом rec: = httptest.newrecorder () Articlectx (http.handlerfunc (getarticleid)). Servhttp (rec, req)
, добавив переменную пути в контекст запроса, среднее программное обеспечение Articlectx может правильно извлечь идентификатор статьи, идентификатор статьи. Практика:
] Используйте метод httptest.newRecorder () для захвата ответа, написанного с помощью тестирования обработчика. Охватывает различные сценарии, такие как обработка плохих запросов или ошибок на уровне маршрута.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3