单元测试窗口位置分配的角度问题
unit testing angular issue with window location assign
在我的ctrl中,我有这样的代码,可以在函数完成工作后导航到一个页面。
$scope.myFunction = function(){
//other code
window.location.assign(url);
}
我的测试代码如下所示。
describe('TEST', function () {
var window;
beforeEach(module(function($provide) {
//dummy window
window = {
location:{href:function(){return 'dummy'},assign:function()
{return 'dummy1'}}
};
// We register our new $window instead of the old
$provide.constant('$window',window);
}));
it("should test",function(){
$scope.myfunction();
});
});
The error that I get is ..Some of your tests did a full page reload! and the test fails.
我已经关注了这里记录的问题(单元测试AngularJS$window服务),但同样的方法对我不起作用。知道吗?
您的函数需要$window注入,而不是window
$scope.myFunction = function($window){
//other code
$window.location.assign(url);
}
正如所写的,您绕过了模拟的$window服务,并对实际的本机窗口对象进行操作。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 为变量分配多个nodejs导出返回值时出现问题
- React Rails应用程序中动态子项的密钥分配问题
- 将 Ajax 数据分配给全局变量时出现问题
- 将方法分配给变量和问题
- 单元测试窗口位置分配的角度问题
- Javascript作用域问题,对象在分配后没有数据
- 将文本框值分配给变量时出现问题
- 在 JavaScript 中将同一函数分配给多个变量时出现性能问题
- 对函数表达式和我分配函数表达式的变量使用相同的标识符是否存在任何问题
- 访问$.ajax语句中分配的JSON时出现问题
- Meteor(0.9.0.1):使用角色包分配管理员角色的问题
- Reactjs的render()在promise解决这个问题后不会被触发.setState被重新分配
- 全局数组值分配问题
- 在循环中分配事件监听器的问题
- 语法问题与js/jquery分配-测验问题在一个对象
- 模块模式中的变量未分配问题
- jQuery:将setinterval分配给数组时出现问题
- 变量重新分配问题在JS,刹车我的头试图理解