【问题标题】:CoffeeScript error different to to actual codeCoffeeScript 错误与实际代码不同
【发布时间】:2018-10-11 06:39:49
【问题描述】:

当我尝试跑步时。一个咖啡脚本测试我得到这个错误:

/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:366
  return creds = new AWS.TemporaryCredentials({
                 ^

TypeError: AWS.TemporaryCredentials is not a constructor
at setupCreds (/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:366:22)
at Suite.<anonymous> (/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:399:7)
at Object.create (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/interfaces/common.js:114:19)
at context.describe.context.context (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/interfaces/bdd.js:44:27)
at Suite.<anonymous> (/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:398:5)
at Object.create (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/interfaces/common.js:114:19)
at context.describe.context.context (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/interfaces/bdd.js:44:27)
at Object.<anonymous> (/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:362:3)
at Object.<anonymous> (/Users/me/git/ibm-cos-sdk-js/test/credentials.spec.coffee:694:4)
at Module._compile (module.js:635:30)
at Object.loadFile (/Users/me/git/ibm-cos-sdk-js/node_modules/coffee-script/lib/coffee-script/coffee-script.js:182:19)
at Module.load (/Users/me/git/ibm-cos-sdk-js/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at /Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/mocha.js:231:27
at Array.forEach (<anonymous>)
at Mocha.loadFiles (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/mocha.js:228:14)
at Mocha.run (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/lib/mocha.js:514:10)
at Object.<anonymous> (/Users/me/git/ibm-cos-sdk-js/node_modules/mocha/bin/_mocha:480:18)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
npm ERR! Test failed.  See above for more details.

这里有几件事我不确定。首先,return creds = new AWS.TemporaryCredentials({ 不存在于第 366 行。我认为错误实际上是指第 370 行的creds = new AWS.TemporaryCredentials(DurationSeconds: 1200)。我相信咖啡脚本被转译为 JavaScript。错误消息是否可能是生成的 JavaScript 的第 366 行?

另外,我不知道该怎么做才能解决这个问题。任何建议将不胜感激。

【问题讨论】:

    标签: javascript node.js coffeescript


    【解决方案1】:

    是的,错误消息是在 javascript 中给出的(正如您可以通过 Coffeescript 中未使用的 return 关键字来判断的那样),并且行号来自咖啡脚本文件的转译 javascript 版本。使用sourcemaps 可能可以获得更好的行号,但我不熟悉将这些与测试库一起使用。

    在这种特定情况下,您正在为 npm 包运行测试。在Github 上查找它,缺少的构造函数实际上是not exist in the source code outside of tests

    该包看起来是 AWS 开发工具包的一个分支,并且仍在内部使用一些 AWS 方法。我的猜测是正在测试的代码已被删除,但测试没有更新。尝试联系包维护者或在 Github 上打开问题。

    【讨论】:

      猜你喜欢
      • 2022-11-02
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多