gpt4 book ai didi

javascript - stub `window.location.reload` 用于单元测试 - "Some of your tests did a full page reload!"

转载 作者:行者123 更新时间:2023-11-30 20:53:53 27 4
gpt4 key购买 nike

我在 Controller 中有这个:

   $scope.foo = function(){
return RolesService.remove({
data: role
})
.then(function (v) {
if (!(v && v.cdtError)) {
$window.location.reload();
}
});
}

$window 注入(inject) Controller

然后在我的单元测试中:

 let $window = {location: {reload: sinon.spy()}};

module(function ($provide) {
$provide.value('$window', $window);
$window.onbeforeunload = sinon.spy();
});

上面的 stub 似乎没有做任何事情,因为我仍然得到这个错误:

Some of your tests did a full page reload!

我如何 stub window.location.reload 以防止这种情况发生?

我在 Karma Github 问题跟踪器上看到了一些关于此的内容,但我找不到答案。

最佳答案

这似乎可以解决问题:

beforeEach(function(){
angular.mock.module('app', function ($provide) {
let $window = {location: {reload: sinon.spy()}};
$provide.value('$window', $window);
$window.onbeforeunload = sinon.spy();
});
});

关于javascript - stub `window.location.reload` 用于单元测试 - "Some of your tests did a full page reload!",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47876604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com