在某些情况下,net/http/httptest.ResponseRecorder
会给我一个缓冲的net/http.ResponseWriter
作为net/http.Response
的功能,但包名称使我有点担心在生产中使用它码。我了解它打算主要用于测试,但是不确定我是否会在生产代码中使用它时遇到麻烦。
我有缘分吗?
答案 0 :(得分:4)
您不应在生产中使用此代码。无论您要实现什么目标。
httptest.ResponseRecorder
的最终目的是促进测试,因此在进行测试时始终会对其进行扩展,优化(重写)。可以在此软件包中进行 Any 假设,只要它可以使软件包更好地进行测试即可。软件包作者打算为此“与go test
” ¹配合使用。我将其解释为不鼓励生产使用,因为这样他们就可以自由休息,例如支持go test
使用您的产品。
另一个论点是安全性。任何测试包的安全模型都将是使用受信任,而非测试代码则相反。
软件世界充满危险。您正在要求使其更加危险。