我正在尝试像这样写beforeEach
,以便每个it
获得所需的模块/提供者:
beforeEach(() => addProviders([
BaseRequestOptions,
MockBackend,
{
provide: Http,
useFactory: (backend: MockBackend, options: BaseRequestOptions) => new Http(backend, options),
deps: [MockBackend, BaseRequestOptions]
},
MyService
]));
但是,由于RC6中不推荐使用addProviders
方法,添加提供商的更好方法是什么?
答案 0 :(得分:6)
使用@angular/core/testing
中的TestBed创建测试模块。例如
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ ... ],
declarations: [ ... ],
providers: [
{ .. },
MyService
]
});
});
除了您不需要导出任何内容之外,它与配置常规模块几乎相同。
查看ng2-test-seed中的更多完整示例。它还有使用TestBed