【问题标题】:Anyway to get my Jasmine tests to run against the local gae server无论如何让我的 Jasmine 测试在本地 gae 服务器上运行
【发布时间】:2023-03-29 06:44:01
【问题描述】:

我正在尝试使用 Jasmine 针对我们的后端 API 测试我的主干前端。

我们的应用是基于google app engine构建的,我们的构建系统使用maven,所以我使用了jasmine-maven-plugin来方便测试前端与API的集成。

但是,当我尝试运行测试时,没有任何 REST API 调用可用(这是有道理的,因为服务器 jasmine 启动仅用于 jasmine 测试)。

有人知道让 Jasmine 插件使用“gae:run”目标启动的码头服务器的方法吗?

因为有大量经过身份验证的调用,所以进行前端测试的服务器和 API 需要相同,包括端口(否则都是跨域请求)。

【问题讨论】:

  • 什么是反对票?
  • 我正在处理类似的问题。也就是说,我正在尝试为发生在 CQ 服务器实例上的 FE 代码和 AJAX 调用编写 jasmine-maven 测试,该实例正在启动它自己的服务器,但 jasmine-maven 插件在码头服务器上运行。所以我遇到了跨域问题。无论如何要解决这个问题?
  • 在您的码头服务器上设置 CORS 响应或使用 Sinon 之类的东西在您的测试中模拟这些响应

标签: google-app-engine maven-3 jasmine-maven-plugin


【解决方案1】:

在这里查看服务器的 Jasmine 源代码:https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/java/com/github/searls/jasmine/ServerMojo.java 看起来 jasmine 是直接使用码头服务器。我不相信 appengine 可以让您直接访问其自定义码头驱动程序,但您可能想查看 gae-maven-plugin 源代码以了解他们是如何做到的。您需要为 jasmine 编写自己的 ServerMojo 实现并将其插入其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 2015-08-21
    • 2018-05-10
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多