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

时间:2014-09-09 20:12:04

标签: ember.js ember-cli

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

在我的测试中,我尝试使用Pretender模拟对API请求的响应,但Pretender并未处理请求,我怀疑是由于此自定义主机设置。

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

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

1 个答案:

答案 0 :(得分:3)

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

export default DS.ActiveModelAdapter.extend({
  host: config.apiHost
});

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