angularjs之browserTrigger

今天推薦一款來自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

相關文章
相關標籤/搜索