何时使用httptest.服务器和httptest.响应记录器



作为标题,何时使用httptest。服务器和httptest。响应记录器?

在我看来,我还可以使用httptest测试我的处理程序以返回正确的响应。服务器我可以简单地启动httptest。服务器提供了我的处理程序实现,然后对响应的主体进行验证。

如果我错了,请纠正,我正在学习Go+TDD

当您只想检查时,如果您的http.Handler做了它应该做的,则不需要使用httptest.Server。只需使用httptest.ResponseRecorder实例调用处理程序,并像示例中那样检查输出即可。

httptest.Server的可能用途有很多,所以我想到的只有几个:

  • 如果您的代码依赖于一些外部服务和API,则可以使用测试服务器来模拟它们。(尽管我个人会隔离所有处理外部数据源的代码,然后通过接口使用它们,这样我就可以很容易地为我的测试创建假对象。)

  • 如果您使用的是客户端-服务器应用程序,则可以在测试客户端时使用测试服务器来模拟服务器端。

最新更新