如何使用WebStorm调试单个Karma测试

时间:2016-11-10 12:58:08

标签: karma-runner webstorm karma-coverage

我正在尝试使用Karma和WebStorm调试单个测试。 我发现这可以做到,

  1. 当我不使用覆盖率报告器并使用 -- reporter progress运行karma.config时,但这不起作用
  2. 在单元测试中更改it into fit
  3. 如何使用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);
    };
    

1 个答案:

答案 0 :(得分:0)

'聚焦' specs / suit适用于我(WebStorm 2016.3 EAP) - 只有fdescribe / fit套装/测试结果显示在Test runner控制台中。

如果您错过了运行个人业力测试/套装的可能性,请按照WEB-13173进行更新。另请参阅https://github.com/karma-runner/karma/issues/1235