11

我正在为 Angular 应用程序运行单元测试,如果导航在 Angular 应用程序中正常工作,我想进行单元测试。

 if (this.customer.length == 0) {
     this.router.navigate(['/nocustomer']);
 } 

以及为此的单元测试

 it(`should navigate to nocustomer`,()=>{
   component.customers.length=0;
   //what must be written here to check this
})
4

2 回答 2

28
于 2019-04-20T15:24:11.927 回答
0

有时,我会动态地放置其他参数来调用导航。因此,只期望我在测试中使用的路径:

...
test('Navigate to /nextPage.', inject([Router], (mockRouter: Router) => {

  const spy = spyOn(mockRouter, 'navigate').and.stub();

  component.goToNextPageMethod();

  expect(spy.calls.first().args[0]).toContain('/nextPage');

}));
...

参考:https ://semaphoreci.com/community/tutorials/testing-routes-in-angular-2

于 2020-05-21T15:06:50.457 回答