![](/img/trans.png)
[英]How to test router.navigate method when using with relativeTo?
[英]How to mock the router.navigate method in jest
我是在 Angular 中使用 Jest 進行單元測試的初學者。 在我的組件中,我有this.router.navigate()
方法。 早些時候我使用 Jasmine 來測試它。 為此,我做了以下事情:
import { Router } from '@angular/router';
然后,
let router:Router;
然后,在beforeEach
中,
router = TestBed.get(Router);
然后,在測試用例中,
it('should show news intially ', () => {
const navigateSpy = spyOn(router,'navigate');
component.showNews();
expect(navigateSpy).toHaveBeenCalledWith(['/news']);
});
這個測試通過了。 但是我如何使用 Jest 做同樣的事情呢? 請幫忙。
我有一個ngOnInit()
方法,它調用另一個方法getDynamicMenus()
。 下面是ngOnInit()
方法:
ngOnInit() {
this.getDynamicMenus();
}
getDynamicMenus() {
this.menuService.getAllMenus().subscribe(menus => {
this.menus = menus._embedded.menu;
});
}
請讓我知道如何模擬此方法。 在 jasmine 中,我模擬了getDynamicMenus()
並調用了component.ngOnInit()
。 但這在 Jest 中不起作用。 請幫忙。
jasmine spyOn()
function 的等價物是jest.spyOn(object, methodName) 。
it('should show news intially ', () => {
const navigateSpy = jest.spyOn(router,'navigate');
component.showNews();
expect(navigateSpy).toHaveBeenCalledWith(['/news']);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.