gpt4 book ai didi

testing - 具有服务依赖性的 Ember.js 测试组件

转载 作者:行者123 更新时间:2023-11-28 20:11:37 24 4
gpt4 key购买 nike

我正在尝试为我的插件编写测试,但遇到了一些奇怪的行为。

我已经创建了一个服务(通过 ember-cli generate),它在组件内部使用。当实际应用程序运行时,一切正常。

但是,在测试组件时,我收到一条错误消息,指出在尝试访问其任何属性/方法时服务未定义。

在测试中,我将服务置于“需要”状态,如下所示:

需要:['service:my-service']

“需要”其他组件(例如内部使用的子组件)按预期工作,服务异常失败。

是否需要执行任何其他步骤?

运行 ember-cli 0.1.12。

最佳答案

当您生成服务时,它还会生成一个初始化程序,其工作是将服务注入(inject)到您需要它的各个地方。

因此,当您运行验收测试时,您的应用程序将启动并且初始化程序将运行,因此服务将可用。

但是,当单元 测试组件时,您会得到一个干净的容器(更适合测试)。你只需要注入(inject)你需要的东西:

moduleForComponent('foo-bar', null, {
setup: function(container) {
container.register('service:foo', FooService);
container.injection('component', 'fooService', 'service:foo');
}
});

关于testing - 具有服务依赖性的 Ember.js 测试组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28302607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com