我想测试一个骨干视图,该视图最初应该在首次实例化时将其自身置于其父容器中。它是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);
});