4

我正在尝试这样写beforeEach,以便每个人都能it获得所需的模块/提供程序:

beforeEach(() => addProviders([
        BaseRequestOptions,
        MockBackend,
        {
            provide: Http,
            useFactory: (backend: MockBackend, options: BaseRequestOptions) => new Http(backend, options),
            deps: [MockBackend, BaseRequestOptions]
        },
        MyService
    ]));

但是由于addProviders方法在 RC6 中已被弃用,添加我的提供程序的更好选择是什么?

4

1 回答 1

6

使用TestBed from@angular/core/testing创建测试模块。例如

beforeEach(() => {
  TestBed.configureTestingModule({
    imports: [ ... ],
    declarations: [ ... ],
    providers: [
      { .. },
      MyService
    ]
  });
});

它与配置常规模块几乎相同,只是您不需要导出任何内容。

在ng2-test-seed中查看更完整的示例。它有测试组件的示例,也使用TestBed

于 2016-09-11T12:24:03.557 回答