繁体   English   中英

Ember.js ajax POST 请求未通过海市蜃楼

[英]Ember.js ajax POST request not going through mirage

我正在为我的 Ember 应用程序中的一个组件编写一些测试,其中该组件对我的服务器 API 执行 ajax POST 请求,该请求将返回文件位置的字符串。

我在mirage/config.js文件中添加了在执行 ajax 请求时应该使用的路由。

  this.post('/foobar', () => {
    return "test";
  });

当我运行测试时,我可以在网络选项卡和控制台中看到 ajax 请求正试图在我的本地主机上执行,但出现连接被拒绝错误。

POST http://localhost:8000/foobar net::ERR_CONNECTION_REFUSED

将调试器放入mirage/config.js文件时,它并没有停在那里,而且似乎完全忽略了mirage/config.js中的路由。

URL 和命名空间都在配置文件中设置。

当我在 localhost 上运行我的应用程序并点击此端点时,它正确地通过了 Mirage。 但它在测试期间不使用海市蜃楼。

发出 ajax 请求的代码。

ajax.request(
        uri.toString(),
        {
          headers: ajax.get('headers'),
          method: 'POST',
          data: data
        });

这是通过单击按钮完成的,我从集成测试中“单击”。

我可以做些什么来进一步测试并找出为什么请求没有通过海市蜃楼?

事实证明,问题在于我在集成测试中开始海市蜃楼的方式。

https://www.ember-cli-mirage.com/versions/v0.4.x/manually-starting-mirage/

按照这些步骤,我能够正确地启动 mirage 并让我的测试正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM