Jasmine与Mocha针对Rails 3.1+的JavaScript测试
Jasmine vs. Mocha JavaScript testing for Rails 3.1+
我有Jasmine的经验,非常喜欢它。有没有人有Jasmine和Mocha的经验,特别是Rails的经验?我想知道是否值得切换到.
我在Jasmine和Mocha都做过测试。首先,切换相对容易。基本的describe
和it
BDD模式是相同的。您需要更改断言的方式,并切换到不同的异步测试接口。总体而言,它们具有可比性。
Mocha的异步接口更加简单和一致。测试和设置可以是同步的,也可以是异步的,这很好。这一点,再加上TJ Holowaychuck是一位史诗密码诗人,都是尝试Mocha的好理由。
我确实认为Jasmine匹配器更容易阅读,也更优雅,尤其是当与Jasmine jquery插件配对时。Mocha通常与一个单独的断言库配对,如果您正在进行浏览器内测试,则通常为chai.js,如果您只进行节点测试,则为should.js。我对chai的assert.equal()
界面很满意,但Jasmine风格的expect($("#central_errors").html()).toContain("must provide a name");
在我看来更优雅。我不喜欢chai.js expect(42).to.be.above(41)
风格的点分隔语句界面,因为它在听觉上不太好。
最终,这是一个个人偏好问题,我强烈建议你花一天左右的时间写Mocha测试,而不是Jasmine,看看感觉如何。这完全是一项值得投资的投资,即使你决定坚持使用Jasmine,你也会从一个拥有第一手知识的地方这样做,并意识到解决Jasmine解决的一些问题的其他方法。我试过了,我坚持使用Mocha,部分原因是下注TJ是一个不错的选择,但Jasmine也是一个成熟、可靠且被广泛采用的库。
查看github上的Teabag项目。它特别允许您将资产管道与Mocha、Jasmine或QUnit一起使用。
https://github.com/modeset/teaspoon
Mocha是一个非常棒的库,但我通常使用Jasmine——对我来说,它主要是关于Jasmine的知识和经验,但Mocha有一些非常酷的功能——比如让你知道你什么时候在全球范围内流血。
我认为值得一提的是这个项目,因为它特别允许你在不同的套房里玩这两种游戏,这样你就可以自己决定了。
- 模糊事件的Javascript测试
- 如何使用ReSharper自定义HTML工具进行JavaScript测试
- 如何安装Jasmin:Velocity项目上的javascript测试工具
- javascript测试是否存在两个标志中的任何一个
- 如何使用gulp-test和karma在浏览器中调试Javascript测试文件
- Infovis-针对graph.ready的Javascript测试
- Javascript 测试是否设置了变量
- Javascript 测试中的假日期对象
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 使用Phantom.js进行无头Browserify JavaScript测试
- javascript测试用于设置cookie的变量
- 创建一个假DOM以在JavaScript测试套件中进行测试
- 如何使用SeleniumWebDriver通过断点调试Node.js上的javascript测试
- JavaScript测试localStorage是否持久
- javascript测试一个值是否是一个数字和一个大于0的数字
- 针对falsy值的Javascript测试正则表达式
- 使用Mocha.js进行Javascript测试:如何模拟Mocha中的回调
- Javascript测试-通过Javascript触发模式弹出
- Javascript测试-使用Array.prototype以随机顺序显示选项
- 使用 Javascript 测试选定的 asp 列表框项