karma-runner - 让Karma保持浏览器和测试结果打开更长的时间

标签 karma-runner webpack

This project及其随附的blog post演示了如何在React.js中使用Karma,但是当您运行npm run test时,Karma会很快打开浏览器并以几乎同样的速度关闭它,不允许您调试应用程序(它应该这样做)。我将配置更改为singleRun: false,认为可能是singleRun关闭了应用程序。

我还添加了autoWatch: true,希望它可以使测试结果可见,但这也不起作用。

问题:如何使 karma 保持浏览器打开足够长的时间,以查看测试结果并调试应用程序?

这是karma.config.js文件

var webpack = require('webpack');

module.exports = function (config) {
  config.set({

    // browsers: [ process.env.CONTINUOUS_INTEGRATION ? 'Firefox' : 'Chrome' ],
    browsers: [ 'Chrome' ],

    singleRun: true,

    // autoWatch: true,

    frameworks: [ 'mocha' ],

    files: [
      'tests.webpack.js'
    ],

    preprocessors: {
      'tests.webpack.js': [ 'webpack', 'sourcemap' ]
    },

    reporters: [ 'dots' ],

    webpack: {
      devtool: 'inline-source-map',
      module: {
        loaders: [
          { test: /\.js$/, loader: 'babel-loader' }
        ]
      }
    },

    webpackServer: {
      noInfo: true
    }

  });
};

最佳答案

引用official docs时,Karma配置文件的默认名称为karma.conf.js,请确保正确命名您的名称。

关于打开浏览器窗口的问题,我遇到了类似的问题,我的解决方案是直接使用--auto-watch标志运行Karma。尝试使用$ karma start --auto-watch而不是$ npm run test(确保已通过karma-cli全局安装了$ npm install -g karma-cli)。

您还应该在scripts:文件中 check out package.json配置部分。可能在此处指定了一些强制选项。

关于karma-runner - 让Karma保持浏览器和测试结果打开更长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632191/

相关文章:

javascript - 使用 Webpack 在 TypeScript React 应用程序中导入 SVG

angularjs - Jasmine /AngularJS : Inject dependent service to service in unit test?

javascript - Angular 防止 mock $http 服务

angularjs - 使用 webpack、angular fullstack 生成器注入(inject) ngMaterial

javascript - 避免在 p5 中使用全局范围

reactjs - 带有 typescript 的react-leaflet GeoJSON 不渲染geojson 点

Angular2 + karma + protractor - 运行特定的 e2e 测试用例

unit-testing - 如何对 Angular 服务与 $cookies 的交互进行单元测试?

unit-testing - Angularjs - 如何用模拟正确替换服务依赖

javascript - 如何使用 Webpack 在 Vue.js 单文件组件中导入 json 文件