<分区>
我有使用 Jasmine 的经验并且非常喜欢它。有没有人有 Jasmine 和 Mocha 的经验,特别是 Rails?我想知道它是否值得切换到。
<分区>
我有使用 Jasmine 的经验并且非常喜欢它。有没有人有 Jasmine 和 Mocha 的经验,特别是 Rails?我想知道它是否值得切换到。
最佳答案
我已经在 Jasmine 和 Mocha 中进行了测试。首先,切换相对容易。基本的 describe
和 it
BDD 模式是相同的。您将需要更改断言的方式并切换到不同的异步测试接口(interface)。总体而言,它们具有可比性。
Mocha 的异步接口(interface)更加简单和一致。测试和设置可以是同步的也可以是异步的,这很好。这一点,再加上 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,您也会从第一手知识的 Angular 这样做,并且了解其他方法来解决 Jasmine 解决的一些问题。我试过了,我坚持使用 Mocha,部分原因是押注 TJ 是一个不错的选择,但 Jasmine 也是一个成熟、可靠且被广泛采用的库。
关于javascript - Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9710297/
相关文章:
angular - 命名空间 'jasmine' 没有导出成员 'SpyObj'
javascript - 在 Jasmine/Node.js 中测试独立的 JS 文件
javascript - 如何避免 Firebase/Cloud Firestore 中的重复数据
mysql - ActiveRecord 的行为不符合我的预期
ruby-on-rails - 如何在Rails 4中获取上一页的引荐来源网址
ruby-on-rails - 在 Namecheap 上为 Heroku Rails 应用程序创建子域
angular - 使用异步 promise 与 jasmine 测试 Angular 2 服务
javascript - JQuery Masonry 是怎么来的,当我在浏览器上单击 "back"时,它会将用户射回顶部?