今天推薦一款來自angularjs源碼的單元測試輔助庫browserTrigger,這是來自於ngScenario的一段代碼。主要用戶觸發瀏覽器型行爲更新ng中scope view model的值。javascript
這是angularjs源碼中單元測試的使用browserTrigger的實例:html
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傳入你但願選擇的select option,則它會幫助你tigger change,選中當前option,更觸發更新ng select的viewmodel。java
在browserTrigger中還爲咱們作了不少其餘輸入框或者html控件的觸發接口,同時也加入了瀏覽器的兼容性。使得咱們的測試更加方便不用考慮瀏覽器兼容性或者不一樣的html控件trigger不一樣的事件去更新scope的值。git
具體更多信息請參考ng的官方測試和browserTrigger源碼。angularjs