本文實例講述了AngularJS輔助函式庫browserTrigger用法。分享給大家供大家參考,具體如下:
今天推薦一款來自angularjs原始碼的單元測試輔助庫browserTrigger,這是來自於ngScenario的一段程式碼。主要使用者觸發瀏覽器型行為更新ng中scope view model的值。
這是angularjs原始碼中單元測試的使用browserTrigger的實例:
it('should set the model to empty string when empty option is selected', function() { scope.robot = 'x'; compile('<select ng-model="robot">' + '<option value="">--select--</option>' + '<option value="x">robot x</option>' + '<option value="y">robot y</option>' + '</select>'); expect(element).toEqualSelect('', ['x'], 'y'); browserTrigger(element.find('option').eq(0)); expect(element).toEqualSelect([''], 'x', 'y'); expect(scope.robot).toBe(''); });
在這段程式碼中給browserTrigger 傳入你希望選擇的東西,更觸發更新ng select的viewmodel。
在browserTrigger中也為我們做了很多其他輸入框或html控件的觸發接口,同時也加入了瀏覽器的兼容性。使得我們的測試更方便不用考慮瀏覽器相容性或不同的html控制trigger不同的事件去更新scope的值。
具體更多資訊可參考ng的官方測試和browserTrigger源碼。