我需要确定给定测试文件当前正在测试的Meteor包的名称,以便我可以派生出资产的路径。例如,如果我们正在测试令人敬畏的事情:fontawesome,可以在/packages/fortawesome_fontawesome/
访问资产。
如何获取TinyTest正在测试的软件包的名称?
package.js :
Package.onTest(function (api) {
api.use(packageName, where);
api.use(['tinytest', 'http'], 'client');
api.addFiles('test.js', 'client');
});
test.js :
var packageName = ???;
HTTP.get('/packages/' + packageName.replace(':', '_') + '/fonts/fontawesome-webfont.woff');
答案 0 :(得分:0)
我还没有找到针对此的API调用,但Package
对象包含所有已加载的包,包括以local-test
开头的包,该包迄今为止已经过测试的包:< / p>
因此,
var packageName = _.find(Object.keys(Package), function(p) {
return p.search(/local-test/) > -1
}).replace('local-test:', '');
但是请注意,由于某些神秘的原因,local-test:<your_package>
软件包在第一次Tinytest调用之前没有加载,因此请小心放置上面的代码。