gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 04:30:04 25 4
gpt4 key购买 nike

在执行以下命令时,出现以下错误

$ 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:oembed@0.0.1',
'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

最佳答案

根据Package.onTest documentation您需要单独指定测试的依赖项。因此,如果您的单元测试使用 CoffeeScript,那么您需要在 onTest 回调中明确指定它。

您可以将包的单元测试视为构建在您正在测试的包之上的单独包。

为什么?

MDG 做到了,因为有时您的测试与您正在测试的包有不同的依赖关系。例如:您在 CoffeeScript 上编写了包,但您的测试是在纯 JavaScript 上编写的。然后 CoffeeScript 依赖项对于测试来说是多余的。当前版本的 API 允许您单独指定这些依赖项。

关于javascript - 为什么我必须复制我在 Meteor 的 Package.onTest 中的 Package.onUse 中指定的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com