我正在設計一個Django項目,它的設計很漂亮。對於服務器端代碼,我們嘗試使用unittests來獲得體面的測試覆蓋率,稍高一些的代碼使用Django測試客戶端進行測試。我們有一個運行CI的Hudson/Jenkins服務器,其中的東西或多或少地沿着this article的線路設置,給我們測試通過和覆蓋統計。Django項目中的CI測試和覆蓋率測試
我想爲我們的JavaScript也有類似的東西。我希望能夠在單元測試級別進行測試,但也希望能夠在集成/驗收測試級別進行測試。後者需要一個完整的DOM JS環境和一個正在運行的django服務器。理想情況下,我想以某種方式使用Django測試客戶端,這樣我就可以按照我習慣於Django測試的方式設置serverstate。我也想運行CI服務器的所有測試,這需要某種無頭瀏覽器環境(服務器是沒有桌面環境的Ubuntu)。
我發現了一堆東西,但很多人覺得它不能在CI服務器上運行。與Django的集成通常也不是很好,並且不會爲服務器環境做好隔離測試。最後,我會理想地喜歡以相當好的速度工作,以儘可能快地保持我的測試/代碼循環。
是否有框架可以做我想要的或有人設法湊齊了一個接近的解決方案?是否有任何已建立的最佳做法,通常與Django結合進行良好的javascript測試(即是否有任何推薦的方法來自我缺少的django人)?
「Cobble together」適合我。我已經使用jruby的celerity和zombie.js來做你正在問的問題,但從來沒有發現這些解決方案非常令人滿意。總有一些瀏覽器特定的東西無論如何都必須進行手動測試。 – 2011-06-14 13:59:38
同樣的問題在這裏。我將在[django-jenkins](https://github.com/kmmbvnr/django-jenkins)中查看javascript的東西,看看它是否可以完成其中的一部分。 – marc1s 2011-11-07 15:10:15