5

I am new to Jasmine with Angular 2, I am frequently working with the TestBed object when writting a Testcase and getting the error:Please call "TestBed.compileComponents" before your test.

How do I solve this error?

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

})
astro8891
  • 502
  • 2
  • 7
  • 18
fruitjs
  • 745
  • 2
  • 10
  • 25

1 Answers1

13

Please call "TestBed.compileComponents" before your test

This call is required when testing components using templateUrl

Error: Cannot create the component AppComponent as it was not imported into the testing module!

You need to configure the TestBed before each test, adding any components, modules and services you need for the test. It's just like configuring an regular @NgModule from scratch, but you just add what you need.

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

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

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

See Also

Paul Samsotha
  • 205,037
  • 37
  • 486
  • 720