用Qunit测试敲除绑定失败

时间:2012-08-22 09:15:11

标签: knockout.js qunit

我正在编写一套我在项目中常用的挖空绑定,它变得越来越大,我需要测试。所以我尝试用Qunit做,这是一个基本的测试

module("Message binding");

test("When updating message observable with a splash message ", function () {
    var div = document.createElement("div");

    var message = ko.observable();

    ko.applyBindingsToNode(div, { message: message });

    message({ splash: "Test" });
});

编辑:在任何人添加蹩脚评论之前:D我知道还没有Assert,当我让绑定在现场环境中表现时会出现

当我应用绑定时,它会使用空值触发绑定的update方法(这是正确的,因为observable具有空值)

但是当我设置消息可观察的消息({splash:“Test”}); 时,更新方法不会再次触发。我可以在现场调用init,并自己更新方法,但后来我没有使用KO可观察的API,测试会有点生产性

1 个答案:

答案 0 :(得分:3)

Knockout将处理用于跟踪元素绑定的依赖关系的计算observable,如果它检测到该元素不是文档的一部分。

因此,您需要在应用绑定之前将元素附加到文档中。然后,您可以在测试完成后将其删除。