Angular 4路由器单元测试

时间:2017-06-15 19:31:28

标签: angular unit-testing jasmine angular2-routing

所以我尝试用Jasmine进行单元测试,这是第一次做到这一点。我读过你必须创建模拟。不过我已经这样做了 - 只要我为RouterStub提供模拟,我就会收到错误"无法读取未定义的根"

class RouterStub {
navigate(params){

}

}

beforeEach(async(() => {
TestBed.configureTestingModule({
  declarations: [ FpUserIdComponent ],
  imports: [ FormsModule, ReactiveFormsModule, RouterTestingModule, HttpModule, 
       TranslateModule.forRoot({
        loader: {
          provide: TranslateLoader,
          useFactory: (createTranslateLoader),
          deps: [ Http ]
  }
})
  ],
  providers: [
      ForgotPasswordService, CorrelateID, ErrorToggleService, ApiService,
    { provide: XHRBackend, useClass: MockBackend },
    { provide: ActivatedRouteStub, useClass: ActivatedRouteStub },
    { provide: "api.config", useFactory: getData },
    { provide: Router, useValue: RouterStub }
  ]
})
.compileComponents();

}));

我的组件:

export class FPUserIdComponent implements OnInit, ComponentCanDeactive {
constructor(
private route: ActivatedRoute,
private router: Router,
private forgotpasswordservice: ForgotPasswordService,
private errorToggleService: ErrorToggleService,
private apiService: ApiService ) { }

}

0 个答案:

没有答案
相关问题