茉莉花测试元素的定位

时间:2012-06-18 16:38:54

标签: jquery bdd jasmine backbone-views

我想测试一个骨干视图,该视图最初应该在首次实例化时将其自身置于其父容器中。它是UI的一部分,允许用户在div内拖动元素。

此当前测试无效(元素的左侧和顶部设置为零)。

我意识到,由于我创建的父元素和子元素从未插入到DOM中,因此它们的CSS似乎永远不会采用任何值。这样做的正确方法是什么?

渲染功能:

  $(@el).css
    left: ($(@parent).width() - @el.width) / 2
    top: ($(@parent).height() - @el.height) / 2      
      @

测试代码

it("should center the element", function() {
  var size = { width: 60, height: 90};
  var parent = document.createElement('div');
  $(parent).width(size.width);
  $(parent).height(size.height);

  this.view.parent = parent;
  $(parent).append(this.view.render().el);

  var expectPosition = {
    left: ($(parent).width() - $(this.view.el).width()) / 2,
    top: (size.height - $(this.view.el).height()) / 2,
  }

      expect($(this.view.el).position()).toEqual(expectPosition);
});

0 个答案:

没有答案