2012-08-22 66 views
0

我正在編寫一套淘汰賽的綁定,我通常在我的項目中使用它,它長大了,我需要測試。所以,我想用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" }); 
}); 

編輯:在任何人增加了一個跛腳的評論:DI知道有沒有斷言的是,它會來,當我得到的結合,表現得像現場環境

當我申請綁定它激發的(因爲觀察到有一個空值,它是正確的)

一個空值的綁定更新方法,但是,當我設置的消息可觀察消息({splash:「Test」});更新方法不會再次觸發。我可以自己調用init,並更新自己的方法,但後來我沒有使用KO可觀察API,並且測試會有點反作用

回答

3

Knockout將處理用於跟蹤元素如果它檢測到該元素不是文檔的一部分,則爲綁定。

因此,在應用綁定之前,您希望將元素追加到文檔中。然後,您可以在測試完成後將其刪除。

+0

謝謝你,做到了! – Anders