我有茉莉花的經驗,並喜歡它相當多。有沒有人對Jasmine和Mocha都有經驗,專門針對Rails?我想知道是否值得轉換。茉莉花與摩卡JavaScript測試的Rails 3.1+
回答
我在茉莉花和摩卡都做過測試。首先,切換相對容易。基本的describe
和it
BDD模式是相同的。您需要更改斷言的方式,並切換到異步測試的不同接口。總的來說它們是可比的
摩卡的異步界面更簡單,更一致。測試和設置可以是同步或異步的,這很好。這一點以及TJ Holowaychuck是史詩級詩人的事實是嘗試摩卡的好理由。
我認爲茉莉花匹配者更容易閱讀和更優雅,特別是與jasmine-jquery插件配對時更是如此。摩卡通常與一個獨立的斷言庫配合使用,如果您正在進行瀏覽器內測試,通常使用chai.js,或者使用should.js進行僅節點測試。我很高興柴的assert.equal()
界面,但茉莉花風格expect($("#central_errors").html()).toContain("must provide a name");
似乎對我更優雅。我不喜歡使用點分隔句子的風格界面風格,因爲它在聽覺上效果不好。
最終,這是一個個人偏好問題,我強烈建議你花一天左右的時間寫摩卡測試,而不是茉莉花,看看它的感覺。完全是一項有價值的投資,即使你決定堅持使用茉莉花,你也會從第一手知識中獲益,並且意識到其他方法可以解決Jasmine解決的一些問題。我嘗試過,我堅持摩卡,部分原因是因爲投注TJ是一個不錯的選擇,但茉莉花也是一個成熟,穩固,廣泛採用的圖書館。
查看github上的茶袋項目。它特別允許您將資產管道與Mocha,Jasmine或QUnit一起使用。
https://github.com/modeset/teaspoon
摩卡是一個非常偉大的圖書館,但我通常使用茉莉 - 對我來說這主要是關於知識和經驗與茉莉,但摩卡有一些很酷的功能 - 如讓你知道當你讓事情進入全球範圍。
認爲值得一提的是該項目,因爲它專門允許你玩弄兩個(在不同的套房),所以你可以自己決定。
- 1. 茉莉花(摩卡)嵌套「它」測試
- 2. 在rails中測試angularjs與茉莉花
- 3. Rails引擎中的茉莉花測試
- 4. 用rails 3.1和coffeescript運行茉莉花
- 5. 茉莉花測試removeEventListener
- 6. 茉莉花循環測試
- 7. 測試角$ Q茉莉花
- 8. 茉莉花TypeScript測試角
- 9. 茉莉花鏈式測試
- 10. 如何測試茉莉花
- 11. 茉莉花 - JavaScript測試關閉
- 12. 用茉莉花測試一個javascript庫
- 13. 獨立茉莉花與Karma - 茉莉花
- 14. 茉莉花測試knockout.js與requirejs
- 15. 茉莉花測試案例與角js
- 16. Aws lambda函數與茉莉花測試?
- 17. 單元測試與茉莉花$模態
- 18. JSpec VS茉莉花VS QUnit的JavaScript和jQuery測試在Rails的
- 19. 與茉莉花
- 20. ng-mouseenter的茉莉花測試
- 21. 茉莉花測試用例的angular2 router.navigate()
- 22. 模擬茉莉花測試中的window.location.reload
- 23. 茉莉花測試的對象方法
- 24. 角度的茉莉花測試案例
- 25. 我的茉莉花測試太脆弱
- 26. 的Javascript JsTestDriver茉莉花和茉莉花的jQuery
- 27. 茉莉花參數化單元測試
- 28. 角JS單元測試(噶茉莉花)
- 29. 茉莉花測試angularjs控制器
- 30. Angularjs和茉莉花,測試諾言
謝謝彼得!只是我正在尋找的觀察:) – LupineDev 2012-03-27 20:16:21
嘿彼得,偉大的寫作!只需要添加Chai,你就可以得到一個Jasmine風格的(「bdd」)界面:http://chaijs.com/code/expect.html實際上你可以混合使用它和assert(「 tdd「)接口。類似jasmine-jquery,還有一個chai-jquery插件,儘管它很新穎。 – 2012-04-25 21:00:02
是的,柴和摩卡都有多個接口。正如我上面提到的,我不喜歡chad bdd/expect界面,因爲我沒有找到有用的所有這些點。 – 2012-04-25 22:32:51