我有茉莉花的经验,并喜欢它相当多。有没有人对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