我是微服务的新手,并且在测试服务链方面存在一些问题。 我的应用程序是在Spring Boot中开发的,包含以下三个服务(每个服务是一个独立的Spring Boot应用程序):
用户从服务A请求资源,服务A处理该请求,然后将其发送到服务B,服务B处理该请求,然后将其发送到服务C。服务C最后将请求发送给第三方,并在流程返回响应给用户。
我的问题是测试此流程(服务链)。 我知道有此需求的Spring Cloud合同。但是据我了解,Spring Cloud合同仅测试两个服务(生产者和消费者,例如这里的服务A和B)。 我也可以在暂存环境中部署此服务并测试此链,但我不想这样做。
在此链中可以执行任何测试吗?
答案 0 :(得分:1)
要进行此类测试,您应该使用通过以下方式进行的端到端测试策略:
答案 1 :(得分:0)
这里有很多问题要解决。
首先,这种端到端测试-取决于整个系统的复杂性-如果不是不可能的话,可能会过于复杂,并且长期而言相当昂贵。不仅在环境的初始设置和实现方面,而且在环境维护方面。这就是为什么我会说“分期”可能是您最好的选择。由于可以通过配置更改,版本控制,第三方依赖项管理等方式维护该环境。
话虽如此,如果您的系统非常复杂并且无法设置可靠的登台环境,那么我建议您依靠合同测试以及内部单元/集成/组件测试,并在适当的服务下使用“生产”测试版本控制以及“功能切换”的使用。您可以在https://blog.codecentric.de/en/2019/02/feature-toggles-benefits-drawbacks/和此处对版本Microservice Versioning
中找到有关功能切换的说明