docker 容器测试网络_使用Docker容器进行服务测试

docker 容器测试网络

在最近几个月中,我一直在帮助一家公司改善其自动化测试实践。 除了在TDD上进行指导之外,我还有机会从事由多个服务组成的项目,在该项目中,我能够使用Docker进行一些服务测试。 这是我第一次在项目上真正使用Docker,我很高兴它在分布式环境中进行服务测试很有用。 在这篇文章中,我将介绍我在此过程中做过的一些事情以及学到的一些东西。

动机

众所周知,在最低级别进行测试会非常有益,因为这也是测试金字塔的象征。

  • 单元测试可以更快地执行
  • 更容易找出测试失败的原因

但是经常进行单元测试是不够的。 实际上,故障通常隐藏在组件的集成中,无论是技术上的还是组件的交互中。

如果模拟了所有远程呼叫,则您可能永远不会注意到您以错误的方式配置了HTTP客户端。 如果您从未在真实的数据库上运行测试,则可能永远不会注意到事务从未提交过,或者用于迁移表的sql仅在内存数据库中有效。

解决此问题的一种方法是构建端到端测试,以通过前端驱动应用程序并在系统上执行实际的用户行为。 起初这听起来像是个好主意,但通常会导致系统非常脆弱。 测试可能一天会通过,而另一天可能会失败。

  • 某些网段可能不可用
  • 其他一些应用程序团队可能已将其数据库移至暂存环境
  • 一百万其他事情可能已经发生

但是,您只能看到测试失败,因此您必须调查原因。

如果仅隔离测试某些组件,则可以进行更可靠的测试。 启动具有所有必需依赖项的服务,对其执行请求,并查看结果是否符合预期,包括响应,数据库中的条目,队列中的消息或其他任何内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值