加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

单元测试 – Angular2 RC5如何正确配置测试模块

发布时间:2020-12-17 18:11:44 所属栏目:安全 来源:网络整理
导读:我正在更新Angular2 RC5的单元测试. changelog注意到以下重大变化: addProviders [is deprecated],use TestBed.configureTestingModule instead 但是,只有在尝试在测试中包含服务时,这似乎才会出错.我的单元测试用于执行以下操作: beforeEach(() = addProv
我正在更新Angular2 RC5的单元测试. changelog注意到以下重大变化:

addProviders [is deprecated],use TestBed.configureTestingModule instead

但是,只有在尝试在测试中包含服务时,这似乎才会出错.我的单元测试用于执行以下操作:

beforeEach(() => addProviders([
    MyService,MockBackend,... 
]));

它现在应该配置测试模块:

TestBed.configureTestingModule({
    providers: [
        StoryService,...
    ]
});

但那现在抛出一个错误

Service: MyService encountered a declaration exception FAILED

Error: Cannot configure the test module when the test module has already been instantiated. Make sure you are not using inject before TestBed.configureTestingModule.

我已经检查过在configureTestingModule之前没有调用inject.这不会影响任何其他组件/指令测试,它们似乎传递得很好.如何使用RC5对服务进行单元测试来解决此错误?我意识到我可能要等到RC5的测试文档更新,但是对于可能的解决方案的任何见解都将非常感激.

解决方法

在BeforeEach里面贴上TestBed.configureTestingModule,如下所示:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读