在安装Browserify之前,我得到了通过测试:
Chrome 48.0.2564 (Mac OS X 10.11.3): Executed 1 of 1 SUCCESS (0.007 secs / 0.001 secs)
我的文件结构如下:
+ src
| +-- functions.js
+ test
| + spec
| +-- functionsSpec.js
+-- karma.conf.js
functionsSpec.js:
describe("test", function() {
it("should be recognized as a function inside functions.js", function() {
expect(test()).toBe("Test")
});
});
functions.js:
function test() {
return "Test"
}
karma.conf.js:
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'src/*.js',
'test/**/*Spec.js'
],
exclude: [
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
})
}
我添加浏览器的时刻 - 添加' browserify'配置文件框架和预处理器,并使用debug:true添加browserify配置项 - 我的测试失败。这是失败的消息:
Chrome 48.0.2564 (Mac OS X 10.11.3) test should be recognized as a function inside functions.js FAILED
ReferenceError: test is not defined
at Object.<anonymous> (/var/folders/km/xnwtjkn55_ddyj7q5qcr1j3r0000gn/T/4ba5e45cb5a106308dd677294fb01296.browserify:57:10 <- test/spec/FunctionsSpec.js:6:0)
Chrome 48.0.2564 (Mac OS X 10.11.3): Executed 1 of 1 (1 FAILED) ERROR (0.015 secs / 0.003 secs)
Karma如何知道您提供的文件路径(在配置/文件中)是哪个源,哪些是相应的测试? Browserify捆绑文件,这样做是否会破坏Karma用于区分的任何机制?如果是这样,这是否意味着因为我使用了与Karma一起使用browserify我必须在我的测试文件中手动要求所有源文件?我查看了the Configuration File,config/files和预处理器上的Karma网站/文档。我还搜索了堆栈溢出。我空白了。我将开始挖掘代码,但首先我想看看是否有经验的人可以帮助我。我只能想象其他人会发现有用的配置/文件的深入解释。谢谢!