我在我的控制器中执行$window.location.reload()
只注入$window
,这意味着它会抛出以下错误:
您的部分测试会重新加载整页!
为了摆脱这个,你应该模拟窗口对象但是我得到以下错误:
TypeError:'undefined'不是函数(评估't.location.reload()')
我的测试看起来像这样:
var authController,
window = {'location': {}};
beforeEach(inject(function($controller) {
authController = $controller('AuthController', {
$window: window
});
}));
必须有一些显而易见的东西,我做错了,我无法发现,因为我在另一个测试中这样做非常相同,并且工作正常。有什么建议吗?
答案 0 :(得分:0)
答案是在$window.location.reload()
beforeEach(inject(function($controller, $window) {
spyOn($window.location, 'reload');
authController = $controller('AuthController');
}));