我有一些功能測試,運行一個夾具(加載jasmine-jquery),在HTML中有一些Knockout綁定。在每次測試開始時,我想從viewmodel開始處於初始狀態。你如何重置每個茉莉花測試的淘汰賽?
如果我呼籲在beforeEach與視圖模型的新實例,我從淘汰賽
Error: You cannot apply bindings multiple times to the same element.
這個錯誤applyBindings()()如果我試圖恢復現有的視圖模型的性能,以匹配其初始狀態我仍然有錯誤。我相信這是因爲在每次測試之後,燈具的HTML被刪除 - 這可能會破壞綁定?
我也試過一個建議,即came up when Googling這是在Knockout中使用cleanNode函數。這不是API的一部分(它只被設計爲在內部被Knockout使用),無論我嘗試過什麼,它都不能解決問題。
感覺就像我採取了錯誤的做法。 tl; dr;其他人如何測試與茉莉花淘汰賽?
感謝所有幫助
爲什麼你在問類似的問題嗎? http://stackoverflow.com/questions/27247822/how-to-reset-knockout-bindings-in-jasmin-如果你有更多的添加和刪除另一個,只需編輯其中一個。 – Tanner 2014-12-02 14:03:58
另一個問題非常具體。這是關於測試Knockout模式的更開放的問題。 – moefinley 2014-12-02 14:23:54
是的,兩者的背後故事都是一樣的。但我提出了兩個不同的問題,期待着不同的答案。 – moefinley 2014-12-02 14:27:15