我在寫一個Windows 8應用程序,併爲它編寫單元測試。我如何在Windows 8環境中以自動化的方式運行它們?如何自動化Windows 8 HTML5應用程序的單元測試?
如果我編寫超級簡單的JavaScript文件,並且不依賴於Windows 8環境或DOM,我可以使用Node.js從命令行單元測試它們。這是非常快的(不到一秒)。
如果我需要涉及DOM,並且我保留我的DOM用法不太新的功能,我可以在Node.js中使用jsdom並獲得相同的設置和相同的速度。
但jsdom不完整,我經常想使用基本的Windows 8功能,如WinJS基礎庫(例如WinJS.Promise
)或Windows.*
枚舉。理想情況下,我應該在相同的JS引擎和DOM環境中進行測試,因爲我的應用程序將實際運行。
因此理想情況下,我需要一個測試運行器:一個輕量級的Windows 8 HTML5容器,可以運行一些真正的DOM ,並訪問WinJS和Windows運行時API。爲了集成到構建過程中,我還需要能夠將結果報告回命令行(stdout,stderr),並根據成功或失敗更改我的測試運行器的返回代碼。它應該是完全自動化的,可以在後臺運行,並且速度非常快(少於10秒)。
我知道有這樣的工具用於WebKit,例如PhantomJS。 Windows運行時HTML5環境中是否存在這種情況?如果沒有,我應該研究哪些API來構建類似的東西?