我想测试一个主干视图,该视图在第一次实例化时最初应该在其父容器中居中。它是 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);
});