2009-11-23 43 views
4

我正在開發使用ExtJS框架的大型應用程序。因爲它增長得太快,我意識到這可能是開始測試的時候了。我想去BDD技術,我發現了幾個用於JavaScript的BDD框架(Screw.Unit,JSpec,JSSpec),但是我仍然不確定選擇哪一個。有一些關於這個話題的文章,但我更感興趣的是你自己的經驗/建議。您使用哪種BDD JavaScript框架?

所以我的問題是:

  • 你用哪一個,爲什麼?
  • 歡迎任何其他提示/提示。
  • 您是否將硒與BDD測試一起使用?
  • 您是否使用其他技術?

回答

1

我們使用硒,是的。

我寫了一個單元測試框架(好吧,大多數是功能性的,不是完全可插入的),我已經使用了幾次。這些類型的主題不斷涌現,所以也許我應該完成它...網址是http://code.google.com/p/jasproject/

+0

謝謝,我一定會檢查出來。 – 2009-11-26 09:21:09

0

我使用buster.js,因爲我在node.js以及客戶端JavaScript中開發。它使用單個API來應對這兩種情況。文檔仍然不足,但我非常喜歡對異步測試的支持。

Buster也可用於與Selenium的WebDriver類似的方式 - 您可以將各種瀏覽器從屬於一個「服務器」,並在所有瀏覽器中同時運行測試。

0

功能性Web測試有幾個挑戰。測試往往是...

  1. 慢速運行(http請求是緩慢的,DOM遍歷可能會很慢太)
  2. 慢寫(寫一個測試,啓動應用程序,運行測試,實現你犯了一個錯誤,重新開始)
  3. 難以閱讀(的XPath,CSS選擇器等)
  4. 脆(當緊耦合到您的HTML)
  5. 維護費用昂貴(如果你不使用的抽象層,如頁面對象模式)
  6. 不現實(當在假瀏覽器中運行時)

出於這些原因,我的首選堆是

  1. 的JavaScript - 開發時間快,因爲沒有編譯時間
  2. CasperJS或殭屍JS - 速度非常快,基於WebKit(Safari瀏覽器&鉻[現在])
  3. Yadda爲 BDD - 使測試易於閱讀和提供了一個抽象層,從而減輕了脆性和維護

這個堆棧的缺點是,你只在webkit中測試,而不是firefox,IE或Chrome(當谷歌移動到Blink時)

相關問題