我想(单元)测试我的 AngularJS 应用程序而不使用 jQuery,因为 jQuery 将取代 jqLite,而在真正的应用程序中 jQuery 也将不可用。jQuery 和 jqLite 之间存在真正的区别,因此在单元测试中让 jQuery 可用于 AngularJS 是有风险的。
现在我的大多数测试在没有 jQuery 的情况下都可以正常工作,但是我需要模糊一个字段,我只能找出如何使用 jQuery 来做这件事。我将如何以跨浏览器的方式在 Javascript 中做到这一点?
更新:收到答案后,我使用 triggerHandler() 解决了它,但不是在指令本身中,而是在单元测试中,如下所示:
it("should set the blur state on blur", function() {
angular.element(elm[0][0]).triggerHandler("blur");
expect($rootScope.passwordblur).toBe(true);
});