为什么必须复制我在Meteor的Package.onTest中的Package.onUse中指定的软件包?

肯马·肯卡

在以下命令上,出现以下错误

$ meteor test-packages --driver-package practicalmeteor:mocha rocketchat:spotify

控制台输出

=> Errors prevented startup:

   While building package local-test:rocketchat:spotify:
   error: No plugin known to handle file 'spotify.test.coffee'. If you want this file to be a static asset, use
   addAssets instead of addFiles; eg, api.addAssets('spotify.test.coffee', 'client').

我很困惑,因为我在Package.onUse下指定了coffeescript包。

rocketchat-spotify / package.js

Package.describe({
    name: 'rocketchat:spotify',
    version: '0.0.1',
    summary: 'Message pre-processor that will translate spotify on messages',
    git: ''
});

Package.onUse(function(api) {
    api.versionsFrom('1.0');

    api.use([
        'coffeescript', # Coffeescript is included here?
        'templating',
        'underscore',
        'rocketchat:[email protected]',
        'rocketchat:lib'
    ]);

    api.addFiles('lib/client/widget.coffee', 'client');
    api.addFiles('lib/client/oembedSpotifyWidget.html', 'client');

    api.addFiles('lib/spotify.coffee', ['server', 'client']);
});

Package.onTest(function (api) {
    api.use([
        'rocketchat:spotify'
    ]);
    api.addFiles('spotify.test.coffee');
});

如下添加coffeescript包即可解决此问题

Package.onTest(function (api) {
    api.use([
        'coffeescript',
        'rocketchat:spotify'
    ]);
    api.addFiles('spotify.test.coffee');
});

=> Modified -- restarting.
=> Meteor server restarted
=> Started your app.

控制台输出

=> App running at: http://localhost:3000/
I20160602-17:55:02.867(9)? Updating process.env.MAIL_URL
I20160602-17:55:04.528(9)? MochaRunner.runServerTests: Starting server side tests with run id aXdi2H3kBS8M8Fuhx
W20160602-17:55:04.577(9)? (STDERR) MochaRunner.runServerTests: failures: 10

版本信息

$ meteor --version
Meteor 1.2.1
懒猫01

根据Package.onTest 文档,您需要分别指定测试的依赖性。因此,如果您的单元测试使用CoffeeScript,则需要在onTest回调中显式指定它

您可以将程序包的单元测试看作是在要测试的程序包之上构建的单独程序包。

为什么?

MDG之所以这么做,是因为有时您的测试具有与所测试的软件包不同的依赖关系。例如:您在CoffeeScript上编写了程序包,但是您的测试是在纯JavaScript上编写的。然后,CoffeeScript依赖项对于测试来说是多余的。当前版本的API允许您分别指定这些依赖项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么必须复制我在Meteor的Package.onTest中的Package.onUse中指定的软件包?

来自分类Dev

npm加载的软件包版本(angularfire2)与package.json中指定的版本不同

来自分类Dev

指定应在package.json中安装不带有可选依赖项的软件包

来自分类Dev

为什么Browserify在某些NPM软件包中包含package.json?

来自分类Dev

为什么Python 3在我的Python 2.7软件包目录中查找软件包?

来自分类Dev

插件中的Package Explorer样式的软件包视图

来自分类Dev

为什么“ npm install”在我的“ package-lock.json”文件中为我的软件包加上“ node_modules”前缀?

来自分类Dev

我如何指定NuGet软件包来自packages.config中的外部源?

来自分类Dev

列出并指定debootstrap中的软件包

来自分类Dev

pubspec.yaml中指定的软件包版本是否包含在编译输出中的任何位置?

来自分类Dev

pubspec.yaml中指定的软件包版本是否包含在编译输出中的任何位置?

来自分类Dev

在YAML文件中指定conda和pip软件包版本号时,=和==等是什么意思

来自分类Dev

如果已经安装软件包,如何防止在“ apt-get install -y package”中更新软件包?

来自分类Dev

为什么`dpkg -l | grep package`正在清除后显示一个软件包

来自分类Dev

为什么使用命令 Update-Package --reinstall 后安装了新软件包

来自分类Dev

npm不仅加载我在package.json中清除的软件包

来自分类Dev

python install package作为另一个软件包的子软件包

来自分类Dev

python install package作为另一个软件包的子软件包

来自分类Dev

为什么在Ubuntu中没有libiconv软件包?

来自分类Dev

通过“ apt-get remove”删除软件包时,为什么在此过程中必须(有时)升级其他软件包?

来自分类Dev

为什么我必须从pom中删除依赖项,然后再将其重新添加并安装以获得最新版本的maven软件包?

来自分类Dev

用于在meteor.js中聚集外部软件包的软件包

来自分类Dev

当在软件包列表中指定openjdk-8-jdk时,为什么将openjdk-11-jre与maven一起安装?

来自分类Dev

当在软件包列表中指定openjdk-8-jdk时,为什么将openjdk-11-jre与maven一起安装?

来自分类Dev

为什么我不能在Update-Package中指定版本?

来自分类Dev

packagist laravel package -composer找不到软件包

来自分类Dev

Nuget Package Manager显示未安装的软件包的更新

来自分类Dev

Pip vs Package Manager,用于处理Python软件包

来自分类Dev

从GitHub Package Registry安装NuGet软件包

Related 相关文章

  1. 1

    为什么必须复制我在Meteor的Package.onTest中的Package.onUse中指定的软件包?

  2. 2

    npm加载的软件包版本(angularfire2)与package.json中指定的版本不同

  3. 3

    指定应在package.json中安装不带有可选依赖项的软件包

  4. 4

    为什么Browserify在某些NPM软件包中包含package.json?

  5. 5

    为什么Python 3在我的Python 2.7软件包目录中查找软件包?

  6. 6

    插件中的Package Explorer样式的软件包视图

  7. 7

    为什么“ npm install”在我的“ package-lock.json”文件中为我的软件包加上“ node_modules”前缀?

  8. 8

    我如何指定NuGet软件包来自packages.config中的外部源?

  9. 9

    列出并指定debootstrap中的软件包

  10. 10

    pubspec.yaml中指定的软件包版本是否包含在编译输出中的任何位置?

  11. 11

    pubspec.yaml中指定的软件包版本是否包含在编译输出中的任何位置?

  12. 12

    在YAML文件中指定conda和pip软件包版本号时,=和==等是什么意思

  13. 13

    如果已经安装软件包,如何防止在“ apt-get install -y package”中更新软件包?

  14. 14

    为什么`dpkg -l | grep package`正在清除后显示一个软件包

  15. 15

    为什么使用命令 Update-Package --reinstall 后安装了新软件包

  16. 16

    npm不仅加载我在package.json中清除的软件包

  17. 17

    python install package作为另一个软件包的子软件包

  18. 18

    python install package作为另一个软件包的子软件包

  19. 19

    为什么在Ubuntu中没有libiconv软件包?

  20. 20

    通过“ apt-get remove”删除软件包时,为什么在此过程中必须(有时)升级其他软件包?

  21. 21

    为什么我必须从pom中删除依赖项,然后再将其重新添加并安装以获得最新版本的maven软件包?

  22. 22

    用于在meteor.js中聚集外部软件包的软件包

  23. 23

    当在软件包列表中指定openjdk-8-jdk时,为什么将openjdk-11-jre与maven一起安装?

  24. 24

    当在软件包列表中指定openjdk-8-jdk时,为什么将openjdk-11-jre与maven一起安装?

  25. 25

    为什么我不能在Update-Package中指定版本?

  26. 26

    packagist laravel package -composer找不到软件包

  27. 27

    Nuget Package Manager显示未安装的软件包的更新

  28. 28

    Pip vs Package Manager,用于处理Python软件包

  29. 29

    从GitHub Package Registry安装NuGet软件包

热门标签

归档