【发布时间】:2015-10-25 02:50:08
【问题描述】:
我正在开发一个自定义包。它的package.js 是:
Package.describe({
name: 'adigiovanni:one-way-accounts',
version: '0.0.1',
summary: 'One Way Accounts',
git: '',
documentation: 'README.md',
});
Package.onUse(function (api) {
api.versionsFrom('1.2.0.2');
api.use('ecmascript');
api.use('mongo');
// api.imply('mongo');
api.addFiles([
'lib/collections/Accounts.js',
'lib/methods.js',
'lib/OneWayAccounts.js',
]);
api.export('OneWayAccounts');
});
Package.onTest(function (api) {
api.use([
'ecmascript',
'sanjo:jasmine@0.20.2',
'velocity:html-reporter',
]);
api.use('adigiovanni:one-way-accounts');
api.addFiles('tests/client/OneWayAccounts.js', 'client');
api.addFiles('tests/server/OneWayAccounts.js', 'server');
});
如你所见,包使用了'mongo'。
测试失败:
参考错误:Mongo 未定义
但如果我取消注释 api.imply('mongo') 行,则测试成功。
同样的奇怪行为适用于 ecmascript 依赖项,如果我在 Package.onTest 中没有 api.use('ecmascript'),测试将失败。
Meteor 版本为 1.2.0.2。
测试跑步者是速度。
测试框架是 jasmine。
我在测试中使用Mongo 和 ES6 语法和功能。
发生了什么,我该如何解决?
【问题讨论】:
-
我可以发布答案,但我需要最后一点信息:您在测试代码中使用
Mongo吗? -
是的。在 lib/collections/Accounts.js 中。
Accounts = new Mongo.Collection('owa-accounts');
标签: javascript meteor meteor-velocity meteor-packages