我正在编写使用茉莉花的角度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. 测试角$ Q茉莉花
- 4. 茉莉花TypeScript测试角
- 5. 角度测试茉莉花失败
- 6. 量角器/茉莉花条件测试案例
- 7. 使用茉莉花的角度2组件测试
- 8. 茉莉花测试用例的angular2 router.navigate()
- 9. 角JS单元测试(噶茉莉花)
- 10. 角/茉莉花/承诺/嘲讽测试
- 11. 角茉莉花单元测试
- 12. 测试答应角茉莉花
- 13. 角JS单元测试(噶茉莉花)
- 14. 单元测试+茉莉花+角状态
- 15. Angular 2 - 茉莉花测试 - 打开模式在页面加载
- 16. 茉莉花测试removeEventListener
- 17. 茉莉花循环测试
- 18. 茉莉花链式测试
- 19. 如何测试茉莉花
- 20. 茉莉花测试案例中的剑道UI问题
- 21. 茉莉花测试案例不在我的小提琴执行
- 22. 茉莉花的角度测试无法比较html节点
- 23. 茉莉花2.0测试与嵌套的角度承诺
- 24. TypeError:studentsList.forEach不是函数。茉莉花单元测试(角2)
- 25. 用茉莉花测试角度“控制器为”
- 26. 未知提供者:$ angularFileUploadProvider < - $ angularFileUpload在茉莉花角度测试
- 27. 测试角度控制器与茉莉花一样
- 28. 角度茉莉花测试响应拦截器
- 29. 用茉莉花测试角度工厂不起作用
- 30. 如何运行使用茉莉花写入打字稿(角度2)的测试?
我没有使用路由器。相反,使用NavController。对此有何建议? – devtiwa
为NavController创建一个存根,并在'push'方法或'setRoot'上侦察。哪一个你正在使用 –
'让导航= {setRoot:jasmine.createSpy('setRoot')}' –