我是 Angular 2 的 Jasmine 新手,在编写测试用例并收到错误时,我经常使用 TestBed 对象:Please call "TestBed.compileComponents" before your test.
我该如何解决这个错误?

@Component({
  moduleId:module.id,
    selector: 'my-app',
    templateUrl: 'app-component.html',

})

最佳答案



使用 templateUrl 测试组件时需要此调用



您需要在每次测试之前配置 TestBed,添加测试所需的任何组件、模块和服务。这就像从头开始配置一个普通的 @NgModule 一样,但你只需要添加你需要的东西。

import { async, TestBed } from '@angular/core/testing';

beforeEach(async(() => {
  TestBed.configureTestingModule({
    declarations: [ AppComponent ],
    providers: [],
    imports: []
  })
  .compileComponents();
}));

it('...', () => {
  let fixture = TestBed.createComponent(AppComponent);
});

另请参见
  • Angular testing docs 获取更多完整示例。
  • 10-06 08:26