【问题标题】:Service Virtualization - Karate服务虚拟化 - 空手道
【发布时间】:2020-08-20 19:18:05
【问题描述】:

服务虚拟化的新手,但在我研究时,我注意到空手道也有一些支持。由于我已经在使用它,我很想知道它是否适合需要。我正在尝试使用一些重试逻辑测试调用另一个 API B 的 API A。请求不会更改,但 B 可能会发送带有错误消息或成功消息的响应正文。目的是重试 x 次,直到我们看到整体失败的成功。所以,问题是我如何在这个测试中模拟 B 的响应? A 提出的请求当然会保持不变。

【问题讨论】:

    标签: karate service-virtualization


    【解决方案1】:

    空手道可以轻松做到这一点。您可以在模拟中设置一个“全局”变量,以记录调用的次数。其余的都是“正常”的空手道。

    您应该阅读文档。如果需要,请提出单独的具体问题:https://stackoverflow.com/a/61374079/143475

    【讨论】:

    • 我在阅读文档时可能会提出愚蠢的问题。 Api A 会在其配置/属性/代码中的某处找到命中 B 的路径,对吗?那么,如何将它路由到 B 的空手道模拟。在我看到的文档中,我们可以创建模拟服务器和模拟响应。我很好奇当我测试 A /doSomething(内部调用实际 Api B /doSomethingForA)时,模拟 B 会被替换吗?
    • 好的。现在开始更好地理解它。非常感谢。我一直在阅读 intuit.github.io/karate/karate-netty 文档,一直觉得我错过了这些信息,不确定我是否理解正确
    • @user1111871 我推荐 ZIP 版本示例,只需 5 分钟即可了解其工作原理:github.com/intuit/karate/wiki/ZIP-Release#api-mocks
    • 会这样做的。谢谢 - 使用 CI/CD 环境,应用程序的部署发生在某个位置/pod - 之后的下一个阶段是与 pod 分开运行的验证阶段 - 它们完全不相交 - 所以看不到拦截将如何发生。但是真的很想尝试学习这一点并用空手道建立更多的测试。非常棒的东西
    猜你喜欢
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多