使用Npm.depends声明testing依赖关系

我想知道如何在testing中声明对Meteor中的一个Npm模块的依赖。

在testing一个包的时候,我可以很容易地在package.js声明一个Npm依赖:

 Npm.depends({ ... 'sinon': '1.15.3' ... }); 

但是我只是在testing中使用sinon ,我想把它明确的。

我尝试了以下没有成功。

 Package.onTest(function(api) { // # 1 // can't do this because it is not a meteor module api.use('sinon'); // # 2 // can't because I have other production Npm dependencies // and Meteor only allows one `Npm.depends` call per `package.js`. // Also, not sure if nesting Npm.depends() is allowed at all. Npm.depends({ 'sinon': '1.15.3' }); }); 

有什么build议么?

要做到这一点,唯一的方法就是把sinon包装成api.use 。 您可以执行以下操作:

 $ meteor create --package sinon 

用以下方法replacepackages/sinon的内容:

package.js

 Package.describe({ summary: 'Standalone test spies, stubs and mocks for JavaScript.' }); Package.onUse(function(api) { api.versionsFrom('1.0.4'); api.export('sinon', 'server'); api.addFiles('sinon.js'); api.addFiles('post.js'); }); 

post.js

 sinon = this.sinon; 

sinon.js

从这里下载最新版本。

最后在你正在testing的包中,你可以添加api.use('sinon'); 在你的Package.onTest


作为制作自己的软件包的替代方法,您可以使用此处提供的社区版本之一。