流星代码是否可以有效地进行单元测试?

xen*_*xen 14 unit-testing meteor

我目前正在研究流星框架,这个问题立即浮现在脑海中.我编写的代码(例如Template.xxx代码或Template.xxx.events)是否可以以任何方式测试?

当然,您可以像测试任何其他代码一样测试未绑定到流星运行时的代码,但我的印象是,您将在流星内部编写的大多数代码都以某种方式限定为流星及其功能.

小智 6

除了未记录的Tinytest(参见视频教程)及其助手之外,似乎没有任何官方测试框架,但您可以随时存取 /模拟Meteor框架API,就像我在github上的这个简单示例中所做的那样.

我想对于非平凡的应用程序来说可能会变得更加困难,因此将核心应用程序逻辑与Meteor API调用分开可能是一个好主意.


Dan*_*scu 5

截至2014年2月,只要您将所有应用程序代码移动到软件包中,Meteor代码就可以使用内置的Tinytest框架进行单元测试,无论如何都应该这样做.快速和肮脏的方式相当于添加package.js文件.该文件用于:

  1. 声明你的出口.干净的命名空间为您的应用程序提供一个全局对象是一个很好的做法
  2. 声明您的测试文件

以下是Eventedmind的一个示例 - https://github.com/EventedMind/meteor-file

您可以在meteor-file-test.js中看到它访问的内容MeteorFile,它在package.js中声明为导出.