【问题标题】:Mock a physical web server while junit test running在 junit 测试运行时模拟物理 Web 服务器
【发布时间】:2013-12-09 22:37:14
【问题描述】:

我正在寻找一个简单的框架,它能够模拟特定 URL 的 JSON 响应,从而启动一个内存服务器。例如。该框架可以启动 node.js 服务器或类似的。

我需要一个物理服务器,因为单元测试是针对外部应用程序(使用 selenium)运行的,并且该应用程序依赖于 JSON 接口。应用程序本身是在模拟器内运行的 iPhone 应用程序,并与 REST 接口通信。

如果我需要用 jUnit 执行测试,是否有一个现有的框架或者什么是最好的方法。

【问题讨论】:

    标签: java testing appium stubby4j


    【解决方案1】:

    您可以启动存根服务器,前提是您可以在客户端应用程序中配置 JSON URL。

    看看例子:

    您可以在预集成测试阶段在您的 Maven 构建中启动这些,并在集成后测试阶段关闭它们。

    【讨论】:

    • 这看起来很完美。是否有可能动态配置 JSON 响应,即每个代码?我只是看了一眼,无法立即弄清楚。
    • 您可以编写响应脚本,例如,对于 Moco,请查看 API:github.com/dreamhead/moco/blob/master/moco-doc/apis.md - 当然,您不会在其中添加太多逻辑,否则您会冒着重写服务的风险。
    • 对迟到的回复表示歉意。您可以配置动态 JSON 响应。检查stubby4j.com/docs/…
    【解决方案2】:

    你可以使用 npm 包stubby-db。你需要做的是;

    1. 安装:npm install stubby-db -g
    2. Mapping :创建一个非常简单的请求响应映射。指定具有 JSON 响应的响应文件的路径。
    3. 运行存根服务器:stubbydb

    就是这样。但是,由于您只想为不需要太多性能的单元测试运行它,因此您也可以使用wiremock。它从内部开始,您永远不会觉得自己在运行外部应用程序。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多