在具有自定义主机名的ember-cli应用程序中使用Pretender

Jos*_*ith 5 ember.js ember-cli

我扩展了DS.ActiveModelAdapter使用自定义,host因为我的API在子域上,例如,http://api.lvh.me:3000在本地工作时使用.

在我的测试中,我尝试使用Pretender来模拟对API请求的响应,但是Pretender没有处理请求,我怀疑是由于这个自定义主机设置.

我已经尝试了许多不同的变体来完成这项工作,包括将主机设置为不同的值,根本不设置主机,使用--proxy命令运行测试,等等.

我显然只是在墙上投掷飞镖,希望有些东西可以粘住.任何人都可以指导我理解我该做什么吗?

Bal*_*rdi 4

如果您将适配器的主机定义为配置变量,它可能会起作用:

export default DS.ActiveModelAdapter.extend({
  host: config.apiHost
});
Run Code Online (Sandbox Code Playgroud)

您将 host 定义为非托管环境中的“真实”主机 ( http://api.lvh.me:3000 ),并在测试中省略 config.apiHost 。如果这样做,您可以使用 Pretender 来消除请求,因为它们现在是同一主机(或者换句话说,相对)请求。