我有一个令人沮丧的时间,我不确定它是否是导致问题的Ember Mirage。 我在服务中有以下代码。
Ember.$.get({
url: `/api/online-courses/${Ember.get(course, 'id')}/courseData`,
async: false, // use of deferreds, or promises, is deprecated with this setting
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', Ember.get(service, 'ajax.headers')['Authorization'])
},
success: (result) => {
globalState.initialized = true
Ember.get(service, 'store').pushPayload('course-datum', result)
initializeValues()
returnVal = 'true'
},
error: (args) => {
returnVal = 'false'
}
})
return returnVal
我还在mirage/config.js
文件中声明了路由。它被设置为仅在单元测试期间使用海市蜃楼。
在测试期间,我可以通过XHR请求跟踪代码执行,进入Mirage路由处理程序,然后......没有。它没有命中Ember.$.get
当我在开发中针对真实的Web服务器执行此代码时,它可以正常工作。
Mirage是否支持async:false
标志?
我还尝试使用this.pretender.get
语法使用此处定义的同步样式声明我的终点:https://github.com/pretenderjs/pretender#timing-parameter
但仍然没有快乐......
任何想法,正确方向的推动等都会受到极大的赞赏。