Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 单元测试$window.location.reload()在角度_Angularjs_Unit Testing_Window_Karma Jasmine - Fatal编程技术网

Angularjs 单元测试$window.location.reload()在角度

Angularjs 单元测试$window.location.reload()在角度,angularjs,unit-testing,window,karma-jasmine,Angularjs,Unit Testing,Window,Karma Jasmine,我在控制器中执行一个只注入$window的$window.location.reload(),这意味着它会抛出以下错误: 你的一些测试重新加载了一整页 为了避免这种情况,您应该模拟窗口对象,但是我得到以下错误: TypeError:“undefined”不是函数(计算“t.location.reload()”) 我的测试如下所示: var authController, window = {'location': {}}; beforeEach(inject(function($con

我在控制器中执行一个只注入
$window
$window.location.reload()
,这意味着它会抛出以下错误:

你的一些测试重新加载了一整页

为了避免这种情况,您应该模拟窗口对象,但是我得到以下错误:

TypeError:“undefined”不是函数(计算“t.location.reload()”)

我的测试如下所示:

var authController,
    window = {'location': {}};

beforeEach(inject(function($controller) {
    authController = $controller('AuthController', {
        $window: window
    });
}));

肯定有什么明显的错误,我无法发现,因为我在另一个测试中做的几乎相同,它工作正常。有什么建议吗?

答案是在
$window.location.reload()上使用间谍

beforeEach(inject(function($controller, $window) {
    spyOn($window.location, 'reload');
    authController = $controller('AuthController');
}));