我正在編寫使用茉莉花的角度2代碼的測試用例。我試圖在用戶註銷後回到登錄頁面。我如何測試頁面位置?角度2的茉莉花測試案例導航到其他頁面
6
A
回答
3
您真正需要做的就是測試路由器導航方法是否使用正確的參數(即登錄頁面的路由)進行調用。嘗試測試實際的導航可能會導致比單元測試所需的副作用更多的副作用。
要檢查是否調用了Router.navigate
方法,只需使用存根和間諜就可以了。
@Component({})
class SomeComponent {
constructor(private router: Router) {}
logout() {
this.router.navigate(['/login'])
}
}
let routerStub;
beforeEach(() => {
routerStub = {
navigate: jasmine.createSpy('navigate');
}
TestBed.configureTestModule({
declaration: [ SomeComponent ],
providers: [
{ provide: Router, useValue: routerStub }
]
});
});
it('it should navigate to login after user logs out',() => {
let component = TestBed.createComponent(SomeComponent).componentInstance;
component.logout();
expect(routerStub.navigate).toHaveBeenCalledWith(['/login']);
})
0
Angular團隊努力將測試融入角度環境的所有本地方面。如果您使用本地角路由器,那麼他們已經構建了測試供您使用。看看這個BLOG。如果你沒有使用角度路由器,那麼你認爲自己是獨立的。
相關問題
- 1. 角度的茉莉花測試案例
- 2. 茉莉花測試案例與角js
- 3. 與茉莉花的角度測試
- 4. 角2茉莉花測試失敗
- 5. 測試角$ Q茉莉花
- 6. 茉莉花TypeScript測試角
- 7. 角+茉莉花測試
- 8. 茉莉花基本角度測試
- 9. 角度測試茉莉花失敗
- 10. 茉莉花測試用例
- 11. 量角器/茉莉花條件測試案例
- 12. 使用茉莉花的角度2組件測試
- 13. 量角器+茉莉花2
- 14. 茉莉花測試用例的angular2 router.navigate()
- 15. 角茉莉花單元測試
- 16. 測試答應角茉莉花
- 17. 單元測試+茉莉花+角狀態
- 18. 角JS單元測試(噶茉莉花)
- 19. 角/茉莉花/承諾/嘲諷測試
- 20. 角JS單元測試(噶茉莉花)
- 21. 與業力和茉莉花角測試
- 22. Angular 2 - 茉莉花測試 - 打開模式在頁面加載
- 23. 茉莉花測試用例問題
- 24. AngularJS中的$ routeChangeStart的茉莉花單元測試案例
- 25. 茉莉花測試案例不在我的小提琴執行
- 26. 茉莉花測試案例中的劍道UI問題
- 27. 茉莉花單元測試
- 28. 茉莉花單元測試
- 29. 茉莉花測試removeEventListener
- 30. 茉莉花測試AngularJS $上
我沒有使用路由器。相反,使用NavController。對此有何建議? – devtiwa
爲NavController創建一個存根,並在'push'方法或'setRoot'上偵察。哪一個你正在使用 –
'讓導航= {setRoot:jasmine.createSpy('setRoot')}' –