Nik*_*ösl 6 integration-testing automated-tests dependency-injection
我有两个软件组件:我的应用程序和一个库(由我的公司拥有,但另一个团队拥有),由应用程序使用.该库是某些服务的客户端库,可执行HTTP请求.该库还将HTTP响应映射到应用程序的内部表示.这是通过应用程序将映射类注入库来完成的.
我已经为映射类和应用程序进行了单元测试,而客户端库调用总是被模拟.
现在我正在考虑集成测试库,我不确定最好的方法是什么:
模拟库调用,只检查是否使用正确的参数调用它
只模拟库完成的HTTP调用
在测试期间,使用内存中的伪(=虚拟)实现替换库中的HTTP调用
我赞成最后一点,但鉴于我们图书馆的内部很少改变,我不确定假的策略是否值得付出努力.
你对此有何看法?你能想到另一种解决方案吗?
我将在库内创建帮助程序,允许您模拟 HTTP 响应。因此,您会看到代码在库内运行,并且您可以使用验证 JSON 格式的库来确保 http 请求/响应是您期望的请求/响应。
从这个意义上说,您正在检查i)该库实际上适用于您的系统;ii)处理正确的 HTTP 响应;因此,您的助手可能非常简单,开发人员只需要提供 http 响应的内容