我有一个角度6应用程序,我正在尝试对我注入路由器的组件进行单元测试。在我的ngOnInit方法中,我引用this.router.url并使用它。
所以现在我正在尝试编写一个jasmine单元测试,我无法设置router.url属性,因为它"是一个常量的只读属性"。我目前正在嘲笑像这样的路由器。
mockRouter = jasmine.createSpyObj<Router>("router", ["navigate", "navigateByUrl"]);
我还需要设置什么来正确模拟测试中的url值?
答案 0 :(得分:0)
茉莉花间谍活动应该是合理的解决方法
spyOnProperty(router, 'url', 'get').and.returnValue('/users');
如此处推荐 https://stackoverflow.com/a/43793575/11552394
并记录在Jasmine文档中 https://jasmine.github.io/api/3.4/global.html#spyOnProperty