【发布时间】:2017-08-29 04:07:44
【问题描述】:
在我的 Angular 4 应用程序中,我需要测试一个 Service 的方法,该方法有时会调用同一服务的私有方法:
window.location.replace(url);
当测试到达那条线时,karma-runner 浏览器被重定向到url,这当然不是我想要的。
如果我试图窥探它,我会得到:
Error: <spyOn> : replace is not declared writable or has no setter
如何正确测试我的方法?
【问题讨论】:
-
我会将对窗口的任何引用移动到单独的服务中,这应该是微不足道的,然后您可以在其他地方进行模拟。
标签: angular unit-testing jasmine karma-jasmine window.location