JavaScript BDD:Vows&Kyuri VS. 茉莉花

我本来要和Vows和Kyuri一起去,但后来我发现了Jasmine 。 你推荐哪个? 誓言还是茉莉花? 是否有一个与Jasmine一起工作的Cucumber实现?

茉莉花

优点:

  • 良好的文件和支持
  • 内置间谍
  • RSPec-ish DSL
  • 与其他工具很好的集成

缺点:

  • 污染全局名称空间
  • 不是为NodeJS构build的

誓言

优点:

  • 清晰和有意义的语法
  • 为NodeJS创build(即asynchronoustesting)
  • CoffeeScript(它真的很漂亮)
  • Watcher开箱

缺点:

  • 文档(例如拆卸function)
  • 批次和上下文在开始时可能很奇怪
  • 没有内置的间谍(SinonJS ftw)

我宁愿VowstestingNodeJS应用程序和Jasmine的客户端代码。 一旦你习惯了CoffeeScript,誓言变得非常干净和强大。

我觉得重要的是要注意Kyuri和黄瓜不一样。 它实际上只是小黄瓜。 你可以在上面实现这个function,但是它不是开箱即用的。

就我个人而言,我正在使用誓言。 这有点大脑弯曲,但它相对简单,并有一个与CoffeeScript,我很喜欢的更好的语法。 另外,我并不想在构build过程中涉及到Ruby,虽然你的里程可能会有所不同,我保留改变我的想法。

我觉得茉莉花更适合在javascript中进行unit testing。 它非常简单而强大,相当简单,可以很好地与其他工具(如rake或rails)集成。