为了针对前端运行功能测试,我们正在考虑模拟我们的后端。 不过,我们的后端迭代速度非常快,而且变化很大。所以模拟它意味着我们总是需要知道所有的变化并相应地更新我们的模拟。
我想知道是否有可能使这个过程自动化。
最佳答案
你要做的是与Consumer Driven Contracts相关的事情
前段时间我们有类似的需求,我们开发了基于java的工具,现在存在于Spring Cloud Contract下.如果您使用的是非 Java 后端,您可以尝试 Pact它支持 Java 和其他语言,但更难融入 JVM 世界。 Spring Cloud Contract 还支持消息传递支持(JMS、RabbitMQ 等)。
主要思想是您正在编写后端服务的契约(Contract),该契约(Contract)用于生成两个工件:
- 模拟客户端(在你的情况下是前端)
- 服务端测试(在您的案例后端)
然后您可以将服务测试合并到您的交付管道中,并确保您的后端与用于测试前端应用程序的模拟一致。
关于testing - 功能测试 : How to keep a backend mock up to date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245286/