Karma如何知道测试文件的来源?

时间:2016-03-14 22:52:10

标签: javascript testing jasmine karma-runner browserify

在安装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 Fileconfig/files和预处理器上的Karma网站/文档。我还搜索了堆栈溢出。我空白了。我将开始挖掘代码,但首先我想看看是否有经验的人可以帮助我。我只能想象其他人会发现有用的配置/文件的深入解释。谢谢!

0 个答案:

没有答案