1

Karma angular unittest runner 无缘无故失败,不运行任何测试,只是显示(在 cli 中):

Chrome 30.0.1599 (Linux) ERROR Uncaught SyntaxError: Unexpected token < at /home/Documents/Projects/angular/app/index.html:2 Chrome 30.0.1599 (Linux): Executed 0 of 0 ERROR (0.314 secs / 0 secs )

但 index.html 文件只是标准的 .. 在它与应用程序完美运行。而“违规行”只是:

<!DOCTYPE html>

浏览器仅显示默认值:

Karma v0.10.2 - 连接的 Chrome 30.0.1599 (Linux) 空闲

大多数文件只是来自角种子。而且我验证了即使我将 controllerSpec.js 中的所有内容都注释为原始状态,我也会收到相同的错误消息:

这是 karma.config (为我尝试过的事情进行了注释):

module.exports = function(config){
    config.set({
    basePath : '../',

    files : [
        'app/lib/angular/angular.js',
        'app/lib/angular/angular-resource.js',
        'test/lib/**/*.js',
        'test/lib/angular/**/*.js',

//        'app/lib/bootstrap-gh-pages/assets/rainbow.js',
        'app/lib/jquery/jquery.js',
//        'app/lib/**/*.js',
        'app/js/**/*.js',

        'test/unit/**/*.js',
        'app/index.html'
    ],

    autoWatch : true,

    frameworks: ['jasmine'],

    browsers : ['Chrome'], //fails with Firefox also


    plugins : [
            'karma-junit-reporter',
            'karma-chrome-launcher',
            'karma-firefox-launcher',
            'karma-jasmine',
            'karma-coverage'
            ],

    junitReporter : {
      outputFile: 'test_out/unit.xml',
      suite: 'unit'
    },

        reporters:['coverage','dots'], //also tried 'progress' removing 'coverage' and removing the while reporters block. nothing helped


        preprocessors : {
        '**/js/*.js': 'coverage'
    },

//      

})}

这是运行-test.sh:

!/bin/bash

BASE_DIR=dirname $0

echo ""
echo "Starting Karma Server (http://karma-runner.github.io)"
echo "-------------------------------------------------------------------"

karma start $BASE_DIR/../config/karma.conf.js $*

实际上没有运行任何测试。我看到 e2e 运行脚本确实有效。

有什么线索吗?(在 ubuntu 13 上运行)我很乐意为此提供帮助!

4

1 回答 1

2

该套件失败,因为您在文件中包含了一个 html 文件。<是 javascript 方面的意外字符。只有 javascript 文件应该在文件列表中。

于 2013-10-30T08:52:39.133 回答