我不知道如何在meteor中进行测试驱动开发。
我在文档或常见问题解答中没有看到它被提及。我没有看到任何例子或类似的东西。
我看到一些软件包正在使用 Tinytest。
我需要开发人员的回应,这方面的路线图是什么。大致如下:
- 可能,没有文档,自己解决
- meteor 的构建方式并不适合您制作可测试的应用
- 这是计划中的功能
- 等等
最佳答案
更新 3:从 Meteor 1.3 开始,meteor 包括 testing guide包含有关单元、集成、验收和负载测试的分步说明。
更新 2:截至 2015 年 11 月 9 日,Velocity is no longer maintained 。 Xolv.io 的重点是 Chimp ,以及 Meteor Development Group must choose an official testing framework .
更新:Velocity是 Meteor's official testing solution自 0.8.1 起。
<小时/>目前关于使用 Meteor 进行自动化测试的文章还很少。我希望 Meteor 社区在官方文档中建立任何内容之前能够发展测试最佳实践。毕竟本周Meteor达到了0.5,而且事情还在快速变化。
好消息:您可以使用 Node.js testing tools与 meteor 。
对于我的 Meteor 项目,我使用 Mocha 运行单元测试使用Chai对于断言。如果您不需要 Chai 的完整功能集,我建议使用 should.js反而。我目前只有单元测试,不过您也可以使用 Mocha 编写集成测试。
请务必 place your tests in the "tests" folder这样 Meteor 就不会尝试执行您的测试。
摩卡支持 CoffeeScript ,我为 Meteor 项目选择的脚本语言。这是 sample Cakefile包含运行 Mocha 测试的任务。如果您将 JS 与 Meteor 结合使用,请随意调整 Makefile 的命令。
您的 Meteor 模型需要稍作修改才能暴露给 Mocha,这需要了解 Node.js 的工作原理。将每个 Node.js 文件视为在其自己的范围内执行。 Meteor 自动将不同文件中的对象相互公开,但普通 Node 应用程序(如 Mocha)不会这样做。为了使我们的模型可以通过 Mocha 进行测试,export每个 Meteor 模型都具有以下 CoffeeScript 模式:
# Export our class to Node.js when running
# other modules, e.g. our Mocha tests
#
# Place this at the bottom of our Model.coffee
# file after our Model class has been defined.
exports.Model = Model unless Meteor?
...并在 Mocha 测试的顶部导入您想要测试的模型:
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
这样,您就可以开始使用 Meteor 项目编写和运行单元测试了!
关于tdd - Meteor 测试驱动开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12987525/