我刚把Angular2从RC3升级到RC4…

import {
  expect, it, iit, xit,
  describe, ddescribe, xdescribe,
  beforeEach, beforeEachProviders, withProviders,
  async, inject
} from '@angular/core/testing';

在我的单元测试中,我有以下代码…
beforeEachProviders(() => [
    {provide: Router, useClass: MockRouter}
]);

这可以很好地工作,但是自从转到rc4之后,我有一个关于beforeEachProviders的弃用警告。
有人知道新的做事方式是什么吗?或者我应该从其他地方导入beforeEachProviders而不是“@angular/core/testing”?

最佳答案

您需要从@angular/core/testing导入addproviders。
而不是:

beforeEachProviders(() => [
    {provide: Router, useClass: MockRouter}
]);

你需要这样做:
beforeEach(() => {
    addProviders([
        {provide: Router, useClass: MockRouter}
    ])
});

资料来源:RC4 Changelog

关于unit-testing - 如何修复beforeEachProviders(在RC4上已弃用),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38136059/

10-09 21:13