Laika vs Velocity on meteor TDD

时间:2014-11-18 08:07:17

标签: meteor

您好,我是Meteor的TDD新手。

我找到了2个tdd框架laika和velocity。

两者有什么区别?

当我使用laika和velocity?

1 个答案:

答案 0 :(得分:8)

对于SO来说,这可能不是一个合适的问题,但我自己也在努力解决这个问题,所以我会分享我的经验和想法。

首先,Velocity本身并不是一个测试框架。它确实是一个测试框架的框架。它提供统一的报告和执行管理。你不只是使用Velocity;你使用它支持的测试框架,目前:sanjo:jasmine,mike:mocha,以及临床:nightwatch。

Arunoda(Laika的作者)已经转移到其他工作(他与Kadira成功的受害者)所以我不认为Laika将会向前发展。它不是被添加到速度框架的目标(至少由Arunoda)。我认为这是一种耻辱,因为它是唯一可以开箱即用的测试框架,它是我现在用于有限集成和客户端测试的内容。 。我坚信它使用phantomjs比sanjo:jasmine(chrome)或临床:nightwatch(firefox)试图使用真正的浏览器要好得多。我现在仍然推荐Laika,但我怀疑它会在某些时候破裂并且不会被迅速修复。

TinyTest正被添加到Velocity。据我所知,它面向服务器端而且它对新用户来说是一个障碍,因为它需要学习和使用通常是更高级的Meteor主题的包。我按照说明运行它,但我从未使用它。这主要是因为我倾向于编写尽可能多的非特定于Meteor的代码,并使用节点单元进行所有单元测试。 Webstorm具有很好的节点单元支持,并且我已经使用它编写了数千个测试。

我还没有得到临床表现:在Velocity或其他情况下运行的守夜人......我已经尝试了两次,两次尝试都是在1.0发布之前,所以现在可能会更好,但是文档状况不佳,团队已经专注于其他1.0版本。我认为BDD"描述"语法太冗长所以迈克:摩卡并不感兴趣。我意识到Laika也使用了摩卡,但它并不需要BDD风格的"描述"语法和Laika示例对我来说非常有意义。在使用夜视仪的真实浏览器方法挣扎之后,我完全相信无头幻影是要走的路,所以我甚至没有尝试过sanjo:茉莉。

尽管目前Velocity状态不佳,但我认为这是前进的方式。它会变得更好,如果我对Meteor开发的总体经验与Velocity重复,它会更快地变得更好。作为一名新的Meteor开发人员,我建议您尝试使用Velocity。如果不这样做,如果您的兴趣主要是服务器端单元测试,那么请回到TinyTest。只有当这真的令人沮丧时,我建议你选择Laika,然后期望它有一天会破裂。希望,对于Velocity的情况来说,这已经远远不够了。