Следует ли мне избегать использования net / http / httptest в производственном коде? - PullRequest
0 голосов
/ 15 октября 2018

Мне нравится возможность представлять буферизованный net/http.ResponseWriter как net/http.Response в некоторых ситуациях, которые дает мне net/http/httptest.ResponseRecorder, но название пакета вызывает у меня некоторое беспокойство по поводу его использования в производстве.код.Я понимаю, что он предназначен для использования в первую очередь для тестирования, но я не уверен, что у меня возникнут проблемы с использованием его в рабочем коде.

Я искушаю судьбу?

1 Ответ

0 голосов
/ 15 октября 2018

Вы не должны использовать этот код в производстве.Неважно, чего вы пытаетесь достичь.

httptest.ResponseRecorder Конечная цель - облегчить тестирование , и поэтому всегда будет расширяться, оптимизироваться - переписано -с мыслью о тестировании. Любое допущение может быть сделано в этом пакете, если это делает пакет лучше при тестировании.Авторы пакета предполагали, что это «будет использоваться совместно с go test» ¹ .Я интерпретирую это как препятствующее производственному использованию, потому что тогда они могут свободно нарушать, например, ваше производственное использование в пользу go test использования.

Другой аргумент - это безопасность.Модель безопасности любого тестового пакета будет состоять в том, что использование является доверенным, тогда как не тестирующий код будет противоположным.

Мир программного обеспечения - опасное место.Вы просите сделать это еще более опасным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...