由于在 RC6 中不推荐使用 addProvider,如何在 angular2 jasmine 测试规范中添加提供程序?
How to add providers in angular2 jasmine testing spec since addProvider is deprecated in RC6?
我正在尝试这样编写我的 beforeEach
,以便每个 it
都能获得所需的模块/提供程序:
beforeEach(() => addProviders([
BaseRequestOptions,
MockBackend,
{
provide: Http,
useFactory: (backend: MockBackend, options: BaseRequestOptions) => new Http(backend, options),
deps: [MockBackend, BaseRequestOptions]
},
MyService
]));
但由于 addProviders
方法在 RC6 中已弃用,添加我的提供程序的更好替代方法是什么?
使用 @angular/core/testing
中的 TestBed 创建测试模块。例如
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ ... ],
declarations: [ ... ],
providers: [
{ .. },
MyService
]
});
});
这与配置常规模块几乎相同,只是您不需要导出任何内容。
在 ng2-test-seed 中查看更完整的示例。它有测试组件的示例也使用 TestBed
我正在尝试这样编写我的 beforeEach
,以便每个 it
都能获得所需的模块/提供程序:
beforeEach(() => addProviders([
BaseRequestOptions,
MockBackend,
{
provide: Http,
useFactory: (backend: MockBackend, options: BaseRequestOptions) => new Http(backend, options),
deps: [MockBackend, BaseRequestOptions]
},
MyService
]));
但由于 addProviders
方法在 RC6 中已弃用,添加我的提供程序的更好替代方法是什么?
使用 @angular/core/testing
中的 TestBed 创建测试模块。例如
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ ... ],
declarations: [ ... ],
providers: [
{ .. },
MyService
]
});
});
这与配置常规模块几乎相同,只是您不需要导出任何内容。
在 ng2-test-seed 中查看更完整的示例。它有测试组件的示例也使用 TestBed