我的应用程序中的以下代码应该重定向到身份验证服务。由于初始页面重新加载,我的所有测试都失败了。
angular('app', [])
.run(['$window', function($window) {
$window.location = 'auth url' + '&redirect=' + $window.location.href;
};
测试错误:Some of your tests did a full page reload!
如何在.run块中模拟$ window.location以防止页面重新加载?
答案 0 :(得分:1)
在茉莉花测试中配置$ offer服务中的$ window。例如:
beforeEach(module("app"), function ($provide) {
//mock a $window and $window.location (since $window.location.href is used from mod.run)
var $window = {};
$window.location = {};
//configure this value with the provider.
$provide.value("$window", $window);
});
现在,模块中使用的任何$窗口都将替换为$ window对象。