import { TestBed, async } from '@angular/core/testing'; import { RouterModule } from '@angular/router'; import { RouterTestingModule } from "@angular/router/testing"; import { AppComponent } from './app.component';
describe('AppComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [ RouterTestingModule, RouterModule ], declarations: [ AppComponent ], }).compileComponents(); })); });
import { Component, NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AppRoutingModule } from './app-routing.module';
@Component({
selector: 'app-test-cmp',
template: '
@NgModule({ imports: [AppRoutingModule, RouterModule], declarations: [TestComponent], exports: [TestComponent], }) export class TestModule {}
describe('AppComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [RouterTestingModule.withRoutes([]), TestModule], declarations: [AppComponent], }) .overrideComponent(AppComponent, { set: { providers: [{ provide: NgModuleRef, useValue: {} }], }, }) .compileComponents(); })); });
TestBed.configureTestingModule({ imports: [RouterTestingModule.withRoutes(routes), AppRoutingModule], declarations: [AppComponent, HomeComponent, AboutComponent], });
通过以上步骤进行配置后,用 Karma 运行测试即可。