如何访问服务中的一个烬灯验收测试

如何访问服务中的一个烬灯验收测试

问题描述:

运行烬1.13.6和ember-cli如何访问服务中的一个烬灯验收测试

我有一个我试图接受测试的烬组件。它的状态与我的应用程序中服务的状态非常紧密相关,所以我想直接访问该服务并在我的验收测试中更改其属性。

我一直在努力的事情沿 this.application.__container__.lookup['service:side-bar'])this.application.__container__.cache['service:side-bar'])

行,但我似乎无法得到它我的应用程序使用的实际主动服务单和我可以打电话给get()set()上。

,如果我尝试使用Ember.inject.service我得到一个令人费解的错误Uncaught TypeError: Object.defineProperty called on non-object(…)这有点听起来像一个bug

我成功地做这样的事情越来越以服务1.13.x:

let myService; 
module("Acceptance | xxxxx", { 
    beforeEach() { 
    this.application = startApp() 
    myService = this.application.__container__.lookup('service:my-service'); 
    } 
}); 

你的问题可能是你正在尝试使用数组表示法(lookup['my-service']),而不是方法调用(lookup('my-service'))。

希望这会有所帮助!