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傳入你希望選擇的select option,則它會幫助你tigger change,選中當前option,更觸發更新ng select的viewmodel。

在browserTrigger中還為我們做了很多其他輸入框或者html控件的觸發接口,同時也加入了瀏覽器的兼容性。使得我們的測試更加方便不用考慮瀏覽器兼容性或者不同的html控件trigger不同的事件去更新scope的值。

具體更多信息請參考ng的官方測試browserTrigger源碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM