测试未在业力/茉莉花/要求上运行.js“*lib*没有时间戳!”错误

test not running on karma/jasmine/require.js 'There is no timestamp for *lib*!' error

本文关键字:lib 错误 时间戳 js 运行 茉莉花 测试      更新时间:2023-09-26

我更改了代码,扩展了一些功能并为此添加了新的单元测试。现在,当我使用 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

我做错了什么?

完全是我的错误。 使用karma-requirejs时,您main-test.js文件,用于配置如何require.js获取文件。我错误地添加了对角度引导的引用,这就是为什么require.js找不到这个文件并抛出这个错误。所以就我而言,此错误意味着提供了错误的文件名。

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

files:[{pattern: 'node_modules/**/*.js', included:false}]

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

从错误消息(第一个错误行的末尾)我们可以得出结论,您在main-test.js中包含了一个paths(或deps)文件,扩展名为.js。在 RequireJS 中,您需要调用不带扩展名的文件名,因此您的paths(或deps)或多或少如下所示:

paths: {
    'ui-bootstrap': 'libs/angular-bootstrap/ui-bootstrap-tpls' // <- without the extension
}