您需要以编程方式创建一个事件并触发它。为此,将jQuery用于单元测试非常有用。例如,您可以编写一个简单的实用程序,如下所示:
var triggerKeyDown = function (element, keyCode) { var e = $.Event("keydown"); e.which = keyCode; element.trigger(e); };然后在您的单元测试中使用它,如下所示:
triggerKeyDown(element, 13);
您可以在http://angular-ui.github.io/bootstrap/项目中查看此技术的实际应用:https :
//github.com/angular-ui/bootstrap/blob/master/src/typeahead/test/
typeahead.spec.js
免责声明 :准确点说:我不主张将jQuery与AngularJS一起使用!我只是说这是用于编写与DOM交互的测试的有用的DOM操作实用程序。
要使以上代码在 没有 jQuery的 情况下 工作,请更改:
$.Event('keydown')至:
angular.element.Event('keydown')


