我基本上有Mixin:
export default Ember.Mixin.create({}};
我这样用:
export default Ember.Controller.extend(EditControllerMixin, {...});
在应用程序中一切正常。
然而,我想要做的并且不确定如何去做类似的测试:
const ctrl = Ember.Controller.extend(MyMixin, {...}).create();
ctrl.actions.someAction();
// assert if behaving as expected
问题是目前我在注射方面有问题,因为needs: [...]
没有生效,因为我正在动态创建控制器,所以我想没有Ember容器存在,这就是原因。 this.get()
也不起作用。所以我基本上想要创建动态控制器并将其集成到Ember运行时。希望得到一些完整的例子。
感谢。
答案 0 :(得分:0)
请不要那样做。根据具体情况分别测试混合(不试图让需要工作)。
要测试needs
- 创建控制器单元测试,并在测试needs
中包含您需要的每个控制器。
可是:
needs
- Ember.inject.controller()
是新语法。