茉莉花与摩卡JavaScripttesting的Rails 3.1 +

我有茉莉花的经验,并做了相当多的。 有没有人有茉莉花和摩卡,专门为Rails的经验? 我想知道是否值得转换。

我在茉莉花和摩卡都做过testing。 首先,切换相对容易。 基本的describeit BDD模式是一样的。 你将需要改变你的断言,并切换到asynchronous测​​试的不同接口。 总的来说他们是可比的

摩卡的asynchronous界面更简单,更一致。 testing和设置可以是同步的也可以是asynchronous的,这很好。 再加上TJ Holowaychuck是一位史诗级的诗人,这是摩卡的理由。

我认为茉莉花比较容易阅读和更优雅,特别是与jasmine-jquery插件配对时。 摩卡通常与一个独立的断言库配对,如果你正在做浏览器内testing,通常是chai.js,或者是仅用于节点testing的should.js。 我很高兴柴的assert.equal()接口,但茉莉花风格expect($("#central_errors").html()).toContain("must provide a name"); 对我来说似乎更优雅。 我不喜欢chai.js expect(42).to.be.above(41)风格的界面,用点分隔的句子,因为它expect(42).to.be.above(41)不太好。

最终,这是一个个人偏好问题,我强烈build议你花一天左右的时间写摩卡testing,而不是茉莉花,看看感觉如何。 完全有价值的投资,即使你决定坚持茉莉花,你将从第一手的知识的地方这样做,并意识到其他方式来解决茉莉花解决的一些问题。 我尝试过,并且坚持摩卡,部分原因是投注TJ是一个不错的select,但茉莉花也是一个成熟,稳固,广泛采用的图书馆。

查看github上的茶袋项目。 它特别允许您使用资产pipe道以及Mocha,Jasmine或QUnit。

https://github.com/modeset/teaspoon

摩卡是一个非常优秀的图书馆,但我通常使用茉莉花 – 对我来说主要是关于茉莉花的知识和经验,但摩卡有一些非常酷的function – 比如让你知道什么时候把东西带到全球范围内。

想想这个项目是值得一提的,因为它专门允许你在两个地方玩(在不同的套房),所以你可以自己决定。