功能测试:如何使后端模拟保持最新

Functional testing: How to keep a backend mock up to date

对于针对前端的 运行 功能测试,我们正在考虑模拟我们的后端。 不过,我们的后端迭代速度非常快,而且变化很大。所以模拟它意味着我们总是需要知道所有的变化并相应地更新我们的模拟。

我想知道是否可以自动执行此过程。

你要做的是Consumer Driven Contracts

相关的事情

前段时间我们有类似的需求,我们开发了基于java的工具,现在存在于Spring Cloud Contract. If you're using a non-java backend you can try Pact下,支持Java以及其他语言,但是更难融入 JVM 世界。 Spring Cloud Contract 还支持消息传递支持(JMS、RabbitMQ 等)。

主要思想是您正在编写后端服务的合同,该合同用于生成两个工件:

  1. 客户端模拟(在您的情况下是前端)
  2. 服务端测试(在您的案例后端)

然后您可以将服务测试合并到您的交付管道中,并确保您的后端与用于测试前端应用程序的模拟一致。