Javascript 将方法添加到父范围,以便在父范围的上下文中测试表达式的执行

Javascript 将方法添加到父范围,以便在父范围的上下文中测试表达式的执行,javascript,angularjs,jasmine,Javascript,Angularjs,Jasmine,我想测试外部表达式是否将调用。 但我不能将函数添加到父范围。我怎么能做到 存在哪些模式或方法 为什么要调用失败测试外部表达式 角度。模块'app',[] .指令'testDir',testDir; 函数testDir{ 返回{ 范围:{ 外部表达式:'&' }, 模板:“调用外部表达式” } } 描述'testDir',=>{ 让范围; 让我们来编译; 让validHTML; 函数创建{ var elem,compiledElem; elem=angular.elementvalidHTML;

我想测试外部表达式是否将调用。 但我不能将函数添加到父范围。我怎么能做到

存在哪些模式或方法

为什么要调用失败测试外部表达式

角度。模块'app',[] .指令'testDir',testDir; 函数testDir{ 返回{ 范围:{ 外部表达式:'&' }, 模板:“调用外部表达式” } } 描述'testDir',=>{ 让范围; 让我们来编译; 让validHTML; 函数创建{ var elem,compiledElem; elem=angular.elementvalidHTML; compiledlem=compileelemscope; 范围。$摘要; 返回compiledlem; } 在每个模块应用之前; 之前 注入函数$compile,$rootScope{ scope=$rootScope.$new; compile=$compile; } ; 它应该被定义,=>{ validHTML=; 常量元素=创建; expectelement.find'button'。length.toBe1; }; 应定义外部表达式,=>{ const spy=jasmine.createSpy'spy'; scope.externalExpression=spy; expectObject.keyscope.toContain'externalExpression'; }; 它“应该调用外部表达式”,=>{ const spy=jasmine.createSpy'spy'; scope.externalExpression=spy; validHTML=; 常量元素=创建; expectObject.keysangular.elementelement.find'button.scope.toContain'externalExpression'; 元素。查找“按钮”。triggerHandler“单击”; expectscope.externalExpression.calls.count.toBe1; }; };
更改为ng单击

谢谢。它确实救了我一天
on-click="externalExpression()"