Javascript 无法测试控制器外部的作用域
在我的量角器代码中,我调用了一个页面,该页面包含以下特定代码位:Javascript 无法测试控制器外部的作用域,javascript,angularjs,protractor,Javascript,Angularjs,Protractor,在我的量角器代码中,我调用了一个页面,该页面包含以下特定代码位: var elem = angular.element(document.body); var scope = elem.scope(); scope.$watch('errors',function(errors){ if(errors.length > 0) { //Error Handling Code here } }, false); 在普通浏览器上,I console.log sc
var elem = angular.element(document.body);
var scope = elem.scope();
scope.$watch('errors',function(errors){
if(errors.length > 0) {
//Error Handling Code here
}
}, false);
在普通浏览器上,I console.log scope时会显示以下内容:
t{$$childTail:null,$$childHead:null,$$nextSibling:null,$$watchers:Array[5],$$listeners:Object…}
然而,当量角器访问页面时,它会说:
未定义
是否有一种特殊的方法来解决这个问题,以便测试能够正确地复制真实浏览器正在做的事情
编辑:
澄清几点,看看我能否指出更多问题所在
1) 控制器本身正在正确设置错误
2) 通过量角器加载时,页面无法访问控制器外部的作用域
3) 我试图测试,当错误出现在手表上时,它会显示带有错误的div。这不是通过一个指令来完成的,因为这个应用程序是一个插件,用于有不同方式显示错误的表单
UPDATE2:找到了一种解决方法,通过生成一个指令,我可以在其中指定一个错误回调函数,并在其中设置手表您想测试什么?如果您关心范围变量,那么听起来更像是单元测试场景,而不是UI测试?我试图测试当页面看到错误更新时,它是否显示显示错误的相应div。