【发布时间】:2012-07-31 22:09:45
【问题描述】:
有没有一个地方可以让我的测试不被 Meteor 运行?
我刚刚开始了我的第一个 Meteor 项目,并开始使用 Mocha 和 should.js 编写单元测试。虽然 mocha 运行没有问题,但测试阻止 Meteor 启动,因为它使用节点的 require 而不是 __meteor_bootstrap__.require (full error message) 存在问题。
话虽如此,Meteor 不应该运行我的测试! 根据Meteor documentation,代码只能放在客户端、服务器或两者上。单元测试套件不属于这些类别,我 not the only person 对 Meteor 缺乏用于放置自动化测试的明确位置感到困惑。
现在,我的测试保存在server/test/,每个文件的内容都包含在块中:
if (typeof(Meteor) === 'undefined') { ... }
虽然这可行,但感觉并不优雅。对于使用 Meteor 应用程序构建测试,您还有其他建议吗?
更新: 代替 Meteor 文档中的明确说明,我遵循 Rails folder conventions(第 4 段),使用名为 test 的文件夹来存储我的测试资产。后来我把它移到了server/test,因为我不想把它加载到客户端上。
【问题讨论】:
-
这需要升级。我相信现在 Meteor Velocity 和 Jasmine 是不错的选择。
标签: unit-testing meteor mocha.js should.js