karma.conf.js 1.93 KB
module.exports = function(config) {
    // karma测试套件的配置文件,参考 https://karma-runner.github.io/0.13/config/configuration-file.html

    config.set({
        // 基本路径,后面的相对路径都基于此路径
        basePath: "../",

        // 所有放入浏览器的,下面是一般配置,更细的配置参看文档
        files: [
            "app/bower_components/angular/angular.js",
            "app/bower_components/angular-route/angular-route.js",
            "app/bower_components/angular-mocks/angular-mocks.js",
            "app/js/**/*.js",
            "test/unit/**/*.js"
        ],

        // 持续监控文件变化,变化后自动触发测试
        autoWatch: true,

        // 内部需要使用的测试框架
        frameworks: ["jasmine"],

        // 启动的浏览器
        browsers: ["Chrome"],

        // 使用的插件,和frameworks,browsers对应,都从npm下载,所以在项目的package.json里有定义
        plugins: [
            "karma-chrome-launcher",
            "karma-jasmine",
            "karma-junit-reporter",
            "karma-coverage"
        ],

        // 报表输出配置器
        reporters: ['progress', 'junit', 'coverage'],

        // karma-junit-reporter报表输出配置
        junitReporter: {
            outputDir: "test/test_junitReport/", // 输出的目录
            outputFile: "test-results.xml", // 输出的文件名
            suite: 'unit' // 输出的xml文件里testsuite节点的package的名字
        },

        // 载入游览器之前的配置设定
        preprocessors: {
            'app/js/**/*.js': ["coverage"] // 设定代码测试覆盖率检测的文件
        },

        // karma-coverage报表输出配置
        coverageReporter: {
            type: "lcov", // 输出文件类型
            dir: "test/test_coverage/" // 报表存放的目录
        }

    });
};