javascript - 如何使用 testem 测试服务器 REST API

标签 javascript node.js ember.js karma-runner testem

Testem 有一个配置选项 serve_files 为我提供客户端代码。但我需要运行我的服务器,因为它有一个 REST API,并且客户端使用它。

在运行测试之前,我如何配置 testem 来运行我的服务器?还是这违反了测试规则?

因为 testem 在另一个端口上运行,我的 rest api 对 rest api 的引用将不起作用。 所以我需要告诉 testem 绕过 serve_files 并启动我的实际服务器并从那里测试文件。

PS:或者另一种选择是用 sinonjs 或其他东西对 api 进行 stub ,这是否是一种正确的方法?那么我就不会真的使用 API 使用 ember 生成的模板来测试我的 API。

最佳答案

您可以使用 API Proxy设置:

代理选项允许您透明地将 http 请求转发到外部端点。

只需将代理部分添加到 testem.json 配置文件即可。

{ “代理人”:{ “/API”:{ “端口”:4200, “主机”:“本地主机” }, “/xmlapi”:{ “端口”:8000, “主机”:“本地主机” } } }

此功能作为透明代理实现,因此对 http://localhost:7357/api/posts.json 的请求将被代理到 http://localhost:4200/api/posts.json 不删除/api 前缀。

关于javascript - 如何使用 testem 测试服务器 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25403164/

相关文章:

javascript - Ajax:用新数据完全替换 div 内容

node.js - 我想开发多对多视频 session 站点

javascript - EmberJS - 复选框和在 Controller 中获取值

javascript - jqGrid - 只编辑可编辑列的某些行

javascript - 如何在不刷新页面的情况下将 <input number> 对象中输入的值传输到 javascript 中?

javascript - 为什么表单收不到 AntD 中的选择数据?

node.js - 我可以浏览 nodejs ws 模块以便浏览器成为 Web 套接字连接的服务器端吗

node.js - 为 node.js 应用程序构建 docker 镜像在代理之后失败

ember.js - 这个 emberjs 简写 '->' 是什么?

ember.js - 如何在 Ember 1.11.0 中命名 Ember 路由