5

我更改了代码,扩展了一些功能并为此添加了新的单元测试。现在,当我使用karma(测试框架 - jasmine)运行单元测试时,它会抛出一个错误

'There is no timestamp for /libs/angular-bootstrap/ui-bootstrap-tpls.js!'
Uncaught Error: Script error for: angular-bootstrap
http://requirejs.org/docs/errors.html#scripterror
at http://localhost:9876/base/node_modules/karma-requirejs/lib/require.js?1379984163000:138

我做错了什么?

4

3 回答 3

3

这完全是我的错。使用时,karma-requirejs您有main-test.js文件配置如何require.js获取文件。我错误地添加了对 angular-bootstrap 的引用,这就是为什么require.js找不到这个文件并抛出这个错误的原因。所以在我的情况下,这个错误意味着提供了错误的文件名。

于 2013-09-25T23:45:11.480 回答
1

问题很老,OP现在已经解决了他的问题,但我会加两分钱:

从错误消息(第一个错误行的末尾)我们可以得出结论,您在扩展名中包含了一个(或pathsdeps文件。在 RequireJS 中,您需要调用不带扩展名的文件名,因此您的(or ) 或多或少看起来像这样:main-test.js.jspathsdeps

paths: {
    'ui-bootstrap': 'libs/angular-bootstrap/ui-bootstrap-tpls' // <- without the extension
}
于 2015-03-08T03:57:43.680 回答
1

可能是因为它无法访问您的源文件。您应该配置 karma 以在需要查找它们的地方提供脚本。例如在 karma conf 中有配置

files:[{pattern: 'node_modules/**/*.js', included:false}]
于 2014-11-07T14:13:38.167 回答