我正在面對與我的組件集成測試之一有關的問題。簡單地解釋一下,我的組件使用一個子組件,它使用一些可以選擇的選項來顯示。Ember測試:在組件測試中注入控制器
這些能力依賴於控制器來知道哪些是當前項目,因此用戶的權限是什麼。因此,在我們app.js文件,我們有這樣的事情:
application.inject('ability', 'projectController', 'controller:project');
當然,在做集成測試的組件時,能力是無法找到的控制器,也沒有項目,所以總是考慮用戶沒有所需的權限。
我試過到目前爲止這樣的東西:
this.register('controller:project', Ember.Object.create({
project: this.project
}));
this.inject.controller('controller:project', {as: 'projectController'});
但是,這並不會對能力造成任何影響(測試文檔說明如何注入服務,而且是相當差的控制器注入)。
有沒有人有如何解決這個問題的好主意?
最好的問候, 文森特
您可以通過執行'Ember.inject.controller('controllername')'在另一個控制器中注入控制器,並將所需的屬性傳遞給組件。我不確定你在找什麼可能讓我們等待答案。 – kumkanillam