如何在业力中正确导入模块?

时间:2017-12-21 02:17:14

标签: angular karma-runner

我在角应用程序中使用材料模块。 当我编写单元测试时,业力表示材料模块不是Angular组件。 e.g。

我导入" mat-progress-bar"在app.module.ts文件中

imports" [MatProgressbarModule]

并在每个组件中使用它。 e.g。

a.component.ts:
<mat-progress-bar></mat-progress-bar>
b.component.ts:
<mat-progress-bar></mat-progress-bar>
c.component.ts:
<mat-progress-bar></mat-progress-bar>

当我在.spec.ts文件中编写单元测试时,我应该在每个组件测试js中要求MatProgressBarModule,否则它将是

Failed: Template parse errors:
'mat-progress-bar' is not a known element:

有没有办法只需要一次,例如在&#34; app.module.spec.ts&#34;文件并让我在任何地方进行测试?

1 个答案:

答案 0 :(得分:0)

你需要像这样导入

import { MaterialModule } from '../../modules/material/material.module';
beforeEach(async(() => {
   TestBed.configureTestingModule({
     declarations: [ DashboardComponent ],
     imports: [ MaterialModule, RouterTestingModule, HttpClientModule, 
     BrowserAnimationsModule ],
     providers: [LoaderService, CustomerDataService]
   })
  .compileComponents();
}));