Jef*_*eff 50 requirejs karma-runner
试图让业力与requirejs一起工作.我不明白为什么我在运行Karma时遇到所有这些错误:
ERROR: 'There is no timestamp for /base/test/mainSpec.js?bust=1387739317116!'
ERROR: 'There is no timestamp for /base/app/main.js?bust=1387739317116!'
ERROR: 'There is no timestamp for /base/bower_components/jquery/jquery.js?bust=1387739317116!'
Run Code Online (Sandbox Code Playgroud)
当我在检查器中转到网络选项卡时,所有文件都没有404.
我有点困惑,因为业力似乎在寻找一个"基础"目录,但我的项目中没有"基础"目录.根据业力文档:
Karma提供/ base目录下的文件.因此,在服务器上将提供对文件的请求
http://localhost:9876/base/*.baseUrl的Require.js配置为使用相对路径加载的模块提供了起始上下文.为Karma服务器设置此值时,需要以/ base开头.我们希望测试的baseUrl与src/main.js中的基本URL相同,因此源中的相对需求不需要更改.所以,因为我们希望我们的基本URL位于src /,我们需要写/ base/src.
这至少令人困惑.我应该在main.js文件中有一个指向'/ base'的baseUrl配置吗?
inf*_*rno 23
注意:这篇文章在2014年1月16日由Karma有效.我不确定该lib的当前状态,也许他们修复了他们奇怪的配置逻辑并添加了有意义的错误消息.如果没有,那么通过修复与Karma相关的配置问题,这篇文章可能非常有用.
错误配置会导致这类错误.您应该将测试使用的所有内容添加到pattern配置文件中的文件中.
例如:
module.exports = function (config) {
config.set({
basePath: './',
frameworks: ['jasmine', 'requirejs'],
files: [
{pattern: 'test/bootstrap.js', included: true},
{pattern: 'test/**/*.js', included: false},
{pattern: 'src/**/*.js', included: false},
{pattern: 'vendor/**/*.js', included: false}
],
exclude: [
],
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Firefox'],
captureTimeout: 6000,
singleRun: false
});
};
Run Code Online (Sandbox Code Playgroud)
在此示例中,bootstrap.js是included HTML中唯一的Karma 文件,其他文件是bootstrap.js中的代码加载的依赖项.模式顺序非常重要,遗憾的是它远非合乎逻辑:下一个模式不会覆盖前一个模式.因此,如果我将test/**/*.js模式作为第一个和test/bootstrap.js第二个,它将无法工作,因为不会包含引导程序.在这些情况下,Karma会向您发送一条"empty testsuite"消息,如果您不知道如何配置它,这将毫无用处......
如果您的测试尝试使用您在Karma配置文件中提供的模式未涵盖的文件,那么您将收到"There is no timestamp for xy"错误消息,这与前面提到的非常相似"empty testsuite".如果您不了解系统,您将无法获得线索,意味着什么,或者为了解决这个问题需要做些什么......
exclude配置对象的一部分用于文件,这些文件已添加到文件模式中以供包含,但您不希望在测试中包含或使用它们.这些可以是例如开发和生产环境的requirejs配置文件等...
Nar*_*pai 21
对我来说,它只是犯了错误的设置,basePath: 'base'而不是baseUrl: '/base'.
baseUrl: '/base' FTW!
小智 4
basePath 用于识别项目相对于配置文件 (karma.conf.js) 的根目录。看一下这个示例:https://github.com/karma-runner/karma/blob/v0.8.5/test/client/karma.conf.js
在浏览器中,我也收到了有关时间戳的错误,但它不会影响任何内容。测试工作正常。我想这应该是一个警告而不是一个错误:-)
| 归档时间: |
|
| 查看次数: |
34808 次 |
| 最近记录: |