用jasmin测试AngularJS $事件

时间:2014-08-27 22:48:18

标签: javascript angularjs unit-testing events

测试此指令函数的最佳方法是什么?

$scope.addToToList = function(event){
    var offset = $(event.target).offset();
    addToListService.showPopUp(offset.left, offset.top);
};

指令的HTML模板:

<div ng-click="addToToList($event)">

如何测试$event

如何测试addToListService.showPopUp(x,y)已被调用? 我想测试offset以获得一个值。

1 个答案:

答案 0 :(得分:0)

你可能需要spy

it("should call showPopUp with offset from event", function() {
  var
    offset = { left: 100, top: 200 },
    ev = {
      target: {
        offset: function () { return offset; }
      }
    };

  spyOn(addToListService, 'showPopUp');
  scope.addToToList(ev};
  expect(addToListService.showPopUp).toHaveBeenCalledWith(offset.left, offset.top);
});