2016-11-10 72 views
0

我正在嘗試使用Karma和WebStorm來調試單個測試。 我發現,這是可以做到,如何使用WebStorm調試單個Karma測試

  1. 當我不使用覆蓋率記者與 -- reporter progress運行karma.config,但這不是工作
  2. 在單元測試改變it into fit

如何使用WebStorm調試單個Karma測試?

karma.config

module.exports = function(config) { 
    var testWebpackConfig = require('./webpack.test.js')({env: 'test'}); 

    var configuration = { 

    htmlReporter: { 
     outputFile: 'tests/reports/units.html', 
     // Optional 
     pageTitle: 'Unit Tests', 
     subPageTitle: 'A sample project description', 
     groupSuites: true, 
     useCompactStyle: true, 
     useLegacyStyle: true 
    }, 




    // base path that will be used to resolve all patterns (e.g. files, exclude) 
    basePath: '', 

    /* 
    * Frameworks to use 
    * 
    * available frameworks: https://npmjs.org/browse/keyword/karma-adapter 
    */ 
    frameworks: ['jasmine'], 

    // list of files to exclude 
    exclude: [ ], 

    /* 
    * list of files/patterns to load in the browser 
    * 
    * we are building the test environment in ./spec-bundle.js 
    */ 
    files: [ { pattern: './config/spec-bundle.js', watched: false } ], 

    /* 
    * preprocess matching files before serving them to the browser 
    * available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 
    */ 
    preprocessors: { './config/spec-bundle.js': ['coverage', 'webpack', 'sourcemap'] }, 

    // Webpack Config at ./webpack.test.js 
    webpack: testWebpackConfig, 

    // coverageReporter: { 
    // type: 'in-memory' 
    // }, 

    remapCoverageReporter: { 
     'text-summary': null, 
     json: './coverage/coverage.json', 
     html: './coverage/html' 
    }, 

    // Webpack please don't spam the console when running in karma! 
    webpackMiddleware: { stats: 'errors-only'}, 

    /* 
    * test results reporter to use 
    * 
    * possible values: 'dots', 'progress' 
    * available reporters: https://npmjs.org/browse/keyword/karma-reporter 
    */ 

    // CHANGE !!! 
    reporters: [ 'progress' ], 

    //reporters: [ 'mocha', 'coverage', 'remap-coverage', 'progress', 'html' ], 
    // web server port 
    port: 9876, 

    // enable/disable colors in the output (reporters and logs) 
    colors: true, 

    /* 
    * level of logging 
    * possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 
    */ 
    logLevel: config.LOG_INFO, 

    // enable/disable watching file and executing tests whenever any file changes 
    autoWatch: true, 

    /* 
    * start these browsers 
    * available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 
    */ 
    browsers: [ 
     'Chrome' 
    ], 

    customLaunchers: { 
     ChromeTravisCi: { 
     base: 'Chrome', 
     flags: ['--no-sandbox'] 
     } 
    }, 

    /* 
    * Continuous Integration mode 
    * if true, Karma captures browsers, runs the tests and exits 
    */ 
    singleRun: process.env.TRAVIS ? true : false 
    }; 

    if (process.env.TRAVIS){ 
    configuration.browsers = ['PhantomJS']; 
    } 

    config.set(configuration); 
}; 

回答