我想爲我的視圖模型編寫單元測試,視圖模型對knockout.js有很大的依賴性。我也使用js.net從Visual Studio中的microsoft test runner運行qUnit測試。這樣當測試失敗時,我可以取消構建。knockout.js出瀏覽器測試和僞裝窗口
我可以得到簡單的測試運行,但只要我加載knockout.js我得到一個「ReferenceError:窗口沒有定義(knockout-1.3.0beta.js,第5行)」很明顯,窗口沒有定義當我沒有從瀏覽器運行測試時。但是,我只測試視圖模型,窗口交互與我的測試無關。無論如何,我可以「僞造」或「模擬」窗口,以便在無瀏覽器的環境中使用knockout.js。
這是一個崇高的目標,我嘗試過使用[phantomjs](http://phantomjs.org),但放棄了最後的 – NickL
@NickL我們去了淘汰賽的源代碼並逐一添加了文件,一些修改,但現在我們有它運行。基本上我們做了一個不依賴窗口的構建。 –
我害怕修改源代碼只是爲了測試,因爲害怕破壞某些東西而沒有意識到。無窗口淘汰賽會很好,因爲我只想測試視圖模型邏輯,而不是DOM操作。幹得好雖然讓它工作!也許你可以發佈修改過的源代碼? – NickL