小编典典

我应该避免在生产代码中使用net / http / httptest吗?

go

在某些情况下,我喜欢将缓冲显示net/http.ResponseWriter为的功能net/http.Response,这net/http/httptest.ResponseRecorder会给我带来好处,但程序包名称使我有点担心在生产代码中使用它。我了解它
主要 用于测试,但是不确定我是否在生产代码中使用它时遇到麻烦。

我在吸引命运吗?


阅读 275

收藏
2020-07-02

共1个答案

小编典典

您不应在生产中使用此代码。无论您要实现什么目标。

httptest.ResponseRecorder最终目的是促进 测试 ,因此始终会在考虑测试的情况下进行扩展,优化( 重写)
。只要可以使该软件包更好地进行测试,就可以在该软件包中做出 任何 假设。软件包作者打算将此与go test
¹一起使用”
。我将其解释为不鼓励生产使用,因为这样他们就可以随意中断使用,例如您的生产使用改为go test使用。

另一个论点是安全性。任何测试包的安全模型都将是使用受信任,而非测试代码则相反。

软件世界是一个危险的地方。您正在要求使其更加危险。

2020-07-02