用于引导程序弹出的角度单元测试

时间:2017-03-15 11:15:47

标签: angularjs unit-testing jasmine karma-runner

我想为以下函数编写角度单位测试单元测试,

$scope.addDataList = function () {
    $scope.IsDefault = false;
    $scope.IsPATsDefault = false;
    $('#plAddEditCopy').modal('show');
}

addDataList打开引导程序弹出窗口。如何在函数SpyOn的第三行使用$('#plAddEditCopy').modal('show')

2 个答案:

答案 0 :(得分:0)

尝试使用以下

JS代码

  describe(function() {
    var form;

    beforeEach(function() {
      html= $('<div id="plAddEditCopy" class="modal fade" role="dialog">'+
      '<div class="modal-dialog"></div></div>');
      $(document.body).append(html);
    });

    it('your test', function() {
    // call your function
    // so that will open modal and cover that code
    // like 
    ctrl.addDataList();
    expect();
    })

    afterEach(function() {
      // remove it
    });
  });

答案 1 :(得分:0)

要监视模态,你可以执行以下操作

//spyOn(object, methodName) where object.method() is a function
spyOn($('#yourelementId'), 'modal')

expect($('#yourElementId').modal).toHaveBeenCalled()();

参考Jasmine spy on