Angular 2.0.0 - 测试"由模块导入'DynamicTestModule'"

xio*_*tee 22 unit-testing karma-jasmine angular

我在测试Angular 2中的app.component.ts时遇到问题.我正在使用angular-cli.每当我运行测试时,我的app.component.spec.ts会使控制台提示错误:

 Failed: Unexpected directive 'HomeModuleComponent' imported by the module 'DynamicTestModule'
 Error: Unexpected directive 'HomeModuleComponent' imported by the module 'DynamicTestModule'
Run Code Online (Sandbox Code Playgroud)

我在TestBed中导入了HomeModuleComponent

TestBed.configureTestingModule({
  declarations: [AppComponent],
  imports : [ HomeModuleComponent ]
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

小智 25

HomeModuleComponentComponent不是Module,所以它必须是在申报:

TestBed.configureTestingModule({
  declarations: [AppComponent, HomeModuleComponent],
  imports : [ ]
});
Run Code Online (Sandbox Code Playgroud)

然后你可以创建要测试的组件,

TestBed.createComponent(AppComponent);
Run Code Online (Sandbox Code Playgroud)