我已经尝试过此解决方案
How to mock $window.location.replace in AngularJS unit test?
$window = {location: { replace: jasmine.createSpy()} };
module(function($provide) {
$provide.value('$window', $window);
});
但是由于测试的服务需要$window._
中的lodash,所以测试失败,因为lodash不再存在。
是否可以做类似的事情
beforeEach(inject(function ($window) {
var mockedWindow = { location: { reload: jasmine.createSpy(), _: $window._ } };
module(function ($provide) {
$provide.value("$window", mockedWindow);
});
}))
感谢您的帮助。