2012-03-14 129 views

回答

119

我在茉莉花和摩卡都做过测试。首先,切换相对容易。基本的describeit BDD模式是相同的。您需要更改断言的方式,并切换到异步测​​试的不同接口。总的来说它们是可比的

摩卡的异步界面更简单,更一致。测试和设置可以是同步或异步的,这很好。这一点以及TJ Holowaychuck是史诗级诗人的事实是尝试摩卡的好理由。

我认为茉莉花匹配者更容易阅读和更优雅,特别是与jasmine-jquery插件配对时更是如此。摩卡通常与一个独立的断言库配合使用,如果您正在进行浏览器内测试,通常使用chai.js,或者使用should.js进行仅节点测试。我很高兴柴的assert.equal()界面,但茉莉花风格expect($("#central_errors").html()).toContain("must provide a name");似乎对我更优雅。我不喜欢使用点分隔句子的风格界面风格,因为它在听觉上效果不好。

最终,这是一个个人偏好问题,我强烈建议你花一天左右的时间写摩卡测试,而不是茉莉花,看看它的感觉。完全是一项有价值的投资,即使你决定坚持使用茉莉花,你也会从第一手知识中获益,并且意识到其他方法可以解决Jasmine解决的一些问题。我尝试过,我坚持摩卡,部分原因是因为投注TJ是一个不错的选择,但茉莉花也是一个成熟,稳固,广泛采用的图书馆。

+0

谢谢彼得!只是我正在寻找的观察:) – LupineDev 2012-03-27 20:16:21

+7

嘿彼得,伟大的写作!只需要添加Chai,你就可以得到一个Jasmine风格的(“bdd”)界面:http://chaijs.com/code/expect.html实际上你可以混合使用它和assert(“ tdd“)接口。类似jasmine-jquery,还有一个chai-jquery插件,尽管它很新颖。 – 2012-04-25 21:00:02

+6

是的,柴和摩卡都有多个接口。正如我上面提到的,我不喜欢chad bdd/expect界面,因为我没有找到有用的所有这些点。 – 2012-04-25 22:32:51

4

查看github上的茶袋项目。它特别允许您将资产管道与Mocha,Jasmine或QUnit一起使用。

https://github.com/modeset/teaspoon

摩卡是一个非常伟大的图书馆,但我通常使用茉莉 - 对我来说这主要是关于知识和经验与茉莉,但摩卡有一些很酷的功能 - 如让你知道当你让事情进入全球范围。

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