Angular 角度4单元测试用例:注入路由器模块错误“;ReferenceError:未定义路由器";
注入函数未加载有效参数Angular 角度4单元测试用例:注入路由器模块错误“;ReferenceError:未定义路由器";,angular,unit-testing,jasmine,karma-jasmine,Angular,Unit Testing,Jasmine,Karma Jasmine,注入函数未加载有效参数 import { TestBed, async, inject, fakeAsync, tick, ComponentFixture, getTestBed } from '@angular/core/testing'; import { RouterTestingModule } from "@angular/router/testing" import { Router } from "@angular/router"; import { Location } fro
import { TestBed, async, inject, fakeAsync, tick, ComponentFixture, getTestBed } from '@angular/core/testing';
import { RouterTestingModule } from "@angular/router/testing"
import { Router } from "@angular/router";
import { Location } from "@angular/common";
import { DriversModule } from '../../drivers.module';
import { DriverAddComponent } from './driver.add.component';
import { routes, routing } from '../../drivers.routing';
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser';
import { Observable } from 'rxjs/Observable';
import { DriverService } from '../../services/driver.service';
describe('Add driver Component', () => {
let component: DriverAddComponent;
let fixture: ComponentFixture<DriverAddComponent>;
let routerMock;
let routerSpy: any;
let location: Location;
let getvendorsdatastub: getVendorsDataStub;
beforeEach(async(() => {
routerMock = {
navigate: jasmine.createSpy('navigate')
};
TestBed.configureTestingModule({
imports: [DriversModule, RouterTestingModule.withRoutes(routes)],
providers: [
{ provide: Router, useValue: routerMock },
{ provide: DriverService, useValue: getVendorsDataStub }
],
schemas: [NO_ERRORS_SCHEMA]
}).compileComponents();
}));
it('should navigate to the add a new driver page',
inject([Router],(router: Router) => { // <= injecting router error
const spy = spyOn(router, 'navigate');
fixture = TestBed.createComponent(DriverAddComponent);
component = fixture.componentInstance;
component.goBack();
expect(router.navigate).toHaveBeenCalledWith(['/addDriver']);
}));
})
import{TestBed,async,inject,fakeAsync,tick,ComponentFixture,getTestBed}来自“@angular/core/testing”;
从“@angular/router/testing”导入{RouterTestingModule}
从“@angular/Router”导入{Router}”;
从“@angular/common”导入{Location}”;
从“../../drivers.module”导入{DriversModule};
从“./driver.add.component”导入{driveradcomponent};
从“../../drivers.routing”导入{routes,routing};
从“@angular/core”导入{DebugElement,无_错误_模式};
从“@angular/platform browser”导入{By}”;
从“rxjs/Observable”导入{Observable};
从“../../services/driver.service”导入{driversservice};
描述('添加驱动程序组件',()=>{
let组件:DriverAddComponent;
let夹具:组件夹具;
让routerMock;
让routerSpy:任何;
让位置:位置;
让getvendorsdatastub:getvendorsdatastub;
beforeach(异步(()=>{
routerMock={
导航:jasmine.createSpy('navigate')
};
TestBed.configureTestingModule({
导入:[DriversModule,RouterTestingModule.withRoutes(routes)],
供应商:[
{提供:路由器,useValue:routerMock},
{provide:DriverService,useValue:getVendorsDataStub}
],
架构:[无错误\u架构]
}).compileComponents();
}));
它('应导航到添加新驱动程序页面',
注入([路由器],(路由器:路由器)=>{//
`"ReferenceError: Router is not defined↵ at eval (eval at <anonymous> (http://localhost:9876/base/src/test.ts?c92fcd34ca1f3fdca5a758e21439c0cb69837438:38527:5), <anonymous>:1:1)↵ at Suite.<anonymous> (http://localhost:9876/base/src/test.ts?c92fcd34ca1f3fdca5a758e21439c0cb69837438:38527:5)↵ at ZoneDelegate.invoke (http://localhost:9876/base/src/polyfills.ts?7c20fa2756eb46abb635df734b059df04f5129cb:3306:26)↵ at Zone.run (http://localhost:9876/base/src/polyfills.ts?7c20fa2756eb46abb635df734b059df04f5129cb:3056:43)↵ at Suite.<anonymous> (http://localhost:9876/base/src/test.ts?c92fcd34ca1f3fdca5a758e21439c0cb69837438:126680:29)↵ at addSpecsToSuite (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js?b92f226f045eefc6b7ea6f5d62253577587c5fc8:994:25)↵ at Env.describe (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js?b92f226f045eefc6b7ea6f5d62253577587c5fc8:961:7)↵ at Env.jasmineEnv.(anonymous function) [as describe] (http://localhost:9876/base/src/test.ts?c92fcd34ca1f3fdca5a758e21439c0cb69837438:126657:38)↵ at describe (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js?b92f226f045eefc6b7ea6f5d62253577587c5fc8:3999:18)↵ at Object.Array.concat.Object.defineProperty.value (http://localhost:9876/base/src/test.ts?c92fcd34ca1f3fdca5a758e21439c0cb69837438:38487:1)`