当前位置:  开发笔记 > 开发工具 > 正文

如何使用`entryComponents`对组件进行浅层测试?

如何解决《如何使用`entryComponents`对组件进行浅层测试?》经验,为你挑选了1个好方法。



1> kampsj..:

他们计划添加EntryComponents到测试模块接口.请参阅问题:https://github.com/angular/angular/issues/10760

有关当前的解决方法,请参阅Angular Material库,请参阅https://github.com/angular/material2/blob/master/src/lib/dialog/dialog.spec.ts#L479.

基本上,他们动态创建一个真实的模块,然后导入它进行测试.

// Create a real (non-test) NgModule as a workaround for
// https://github.com/angular/angular/issues/10760
const TEST_DIRECTIVES = [
  ComponentWithChildViewContainer,
  PizzaMsg,
  DirectiveWithViewContainer,
  ContentElementDialog
];

@NgModule({
  imports: [MdDialogModule],
  exports: TEST_DIRECTIVES,
  declarations: TEST_DIRECTIVES,
  entryComponents: [ComponentWithChildViewContainer, PizzaMsg, ContentElementDialog],
})
class DialogTestModule { }

现在你可以使用了 DialogTestModule

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [MdDialogModule.forRoot(), DialogTestModule]
      ...

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有