1

アセットへのパスを取得できるように、特定のテスト ファイルが現在テストしている Meteor パッケージの名前を特定する必要があります。たとえば、fortawesome: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');
4

1 に答える 1

0

このための API 呼び出しは見つかりませんでしたが、オブジェクトには、これまでテストされたパッケージであるPackageで始まるものを含む、読み込まれたすべてのパッケージが含まれています。local-test

ここに画像の説明を入力

したがって、

var packageName = _.find(Object.keys(Package), function(p) {
  return p.search(/local-test/) > -1
}).replace('local-test:', '');

ただし、不思議な理由で、local-test:<your_package>最初の Tinytest 呼び出しの前にパッケージがロードされないことに注意してください。そのため、上記のコードを配置する場所に注意してください。

于 2014-11-28T01:50:22.697 に答える