这可能看起来有些不合常规,但是我们试图实现的目的是找到一种在实时环境中执行端到端测试时将流程标识为“测试流程”的方法。
例如,在一个电子商务平台中,假设涉及3个组件/微服务。 (简化很多)
我们希望执行端到端测试,并能够将此工作流程识别为测试,因此,实现无法真正满足此订单要求。为此,每个组件都可以选择不同地处理此请求。组件之间的交互是通过Http请求和事件驱动的。
希望我很清楚。有没有人做过此事或对此有任何建议?
谢谢。
答案 0 :(得分:0)
建议您使用伪造品/测试装置编写集成测试,这是一篇很棒的文章,解释了:https://enterprisecraftsmanship.com/posts/integration-testing-or-how-to-sleep-well-at-nights/
此外,马丁·福勒(Martin Fowler)的https://martinfowler.com/articles/microservice-testing/
答案 1 :(得分:0)
微服务需要与其他微服务通信以使用外部功能,这意味着这些微服务应处于运行状态。这是设计测试的问题,因为我们需要控制外部服务的输出,而我们根本无法控制。因此,也许尝试Contract Testing
而不是进行整个流程end to end
测试?合同测试通过隔离检查每个应用程序以确保其发送或接收的消息符合“合同”中记录的共享理解,来确保一对应用程序可以正常工作。
我会推荐这些条款和条件供您参考: