AngularJS-用于单元测试的模拟window.location.replace

时间:2019-04-30 14:41:12

标签: angularjs unit-testing mocking karma-jasmine

我已经尝试过此解决方案

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);
    });
}))

感谢您的帮助。

0 个答案:

没有答案