使用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
。
作为制作自己的软件包的替代方法,您可以使用此处提供的社区版本之一。