如何模拟angular-2.0.0-rc-4中@component元数据中指定的提供程序

时间:2016-07-19 12:19:42

标签: javascript angular

因为,angular-2.0.0-rc-4不支持overrideProviders。

我尝试使用

beforeEach(() => {
addProviders([
    TestComponentBuilder,
    FeedsListComponent, {
        provide: FeedsService,
        useClass: MockFeedsService
    }
]);

});

如果服务是在bootstrap阶段提供的,我可以模拟服务。 但如果它提供@componet级别如下

@component({
 ...
 providers: ['FeedsService']
})
class FeedsListComponent {
}

即使我使用了提供它也没有采用mockedService。那么,有没有其他方法来模拟@component元数据中指定的服务而不是overrideProviders

1 个答案:

答案 0 :(得分:-1)

您需要使用overrideProviders

中的TestComponentBuilder

https://angular.io/docs/ts/latest/api/core/testing/TestComponentBuilder-class.html