我在測試我的圖書館。問題是我在文本字段中發生了跳動,以避免經常更新。如何在AngularJS中用ng-model-options的debounce強制輸入更改觸發器?
像
<input ... ng-model-options="{debounce: {'default': 500, 'blur': 0} }"
但我不能在測試中禁用它,甚至我試圖觸發blur
it("""test input set with debounce""", function(){
scope.obj = {
name: 'John'
}
el = compileTemplate("<span><input ng-model=\"obj.name\" ng-model-options=\"{debounce: {'default': 500, 'blur': 0} }\"></input></span>")
scope.$digest()
input = el.find('input');
expect(input.val()).toEqual('John');
angular.element(input).val('Max').trigger('change').trigger('blur')
scope.$apply()
expect(scope.obj.name).toEqual('Max');
})
它會失敗,因爲我要補充$超時。所以10次測試= 5秒延遲是不合適的。
我該如何強制change
觸發器來避免反彈或觸發blur
?