如何编写单元测试来断言jQuery元素的值

时间:2010-02-15 04:24:48

标签: javascript unit-testing testing qunit

我正在使用jQuery 1.4.1,这是一个简单的代码。

buildCol1: function() {
  var col = $('<select />', {className: 'col1' }).append($('<option />'));
  return $('<td />').append(col);
},

我正在使用qunit。在这种情况下,方法调用返回一个jquery元素。由于我正在编写测试,我应该有类似

的内容
s = "<td><select class='col1'><option></option></select></td>"

我不知道如何从jquery元素中获取完全展开的文本值。我相信我可以通过彻底摧毁所有的孩子来实现这一目标。但我希望有一种更简单的方法来对这种方法进行单元测试。

更新

在我发布问题之后,我知道在返回的元素上我可以检查类名和正确的子项数。基本上这就像检查返回的td以获得正确的值一样。

1 个答案:

答案 0 :(得分:3)

那么,您想获得jQuery选择的纯HTML源代码吗?解决方案是将其放入包含元素并获取该元素的内部HTML:

var $myEl = $('<select />', {className: 'col1' }).append($('<option />'));
var src = $("<div></div>").append($myEl).html();