【问题标题】:How to setup hosting for Multiple mock services using Karate DSL , which will be hosted for long如何使用空手道 DSL 为多个模拟服务设置托管,该服务将长期托管
【发布时间】:2019-03-13 22:00:32
【问题描述】:

我们有很多供应商,但并非所有供应商都提供沙盒环境来测试集成。

我想模拟它们,因此我自己会托管它们,我们正在广泛使用空手道作为我们的 BDD 工具。

  • 如何使用单个项目托管多个模拟服务?(多个功能文件)
  • 如何为不同的模拟服务实现不同的主机名?
  • 可以作为普通服务器长期运行吗?

类似问题:Using mocks in Karate DSL feature file with stanalone run

【问题讨论】:

    标签: karate mockserver


    【解决方案1】:

    如何使用单个项目托管多个模拟服务

    参考您链接的答案。使用 Java 代码是启动多个模拟的最佳方式。

    如何为不同的模拟服务实现不同的主机名?

    通常您将服务配置更改为指向模拟运行的位置,通常是localhost + : + portNumber - 另请参阅有关使用空手道作为 HTTP 代理的文档,并搜索有关修改 @987654323 的网络@条目(如果需要)。

    可以作为普通服务器长期运行吗?

    请记住,空手道是一种“模拟”:) 但如果您不继续将数据添加到内存中,那应该没问题。虽然没有保证:P

    【讨论】:

    • 有没有办法在一个端口后面托管所有模拟服务?我正在使用FeatureServer server = FeatureServer.start(file, 9999, false, null); 仅使用一个 Mock 来启动服务器。想要添加多个模拟并通过单个端口托管它们。
    • @AmitVyas 不,不支持。听起来你有过度设计的东西。只需将所有端点合并到一个功能文件中。就我个人而言,我不认为尝试将模拟变成一个成熟的应用服务器框架(您要求路由)是一个好主意
    • 我正朝着提供单一服务的方向前进,该服务模拟所有 e2e 场景的所有第三方。模拟仅在测试期间保持活动状态。我想我将来也会尝试 grpc 模拟。不打算将模拟用作应用程序服务器配置,但如果支持多个模拟,则不需要在当前服务器启动逻辑中为模拟或黑客保留多个项目。空手道的模拟很强大,还没有看到很多人广泛使用它。
    • @AmitVyas 是的,我很惊讶更多的人还没有意识到它是多么简单和强大。我很清楚事情需要保持简单——这就是为什么我反对让模拟更“花哨”——但如果你有想法(请具体说明,最好是代码示例)我愿意听到他们
    • 我正在将所有场景写在一个单一功能文件中,随着它的增长,它变得有点不方便。所以我在想我们是否可以提供一个文件夹,其中的所有功能文件都可以用作 Mock 端点。所以我会再次回到 Mocks,我想做很多事情,尤其是智能录制、回放和我最喜欢的部分,模拟了 3rd 方遭受的不同条件并且难以复制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多