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