如何用 karma spec runner 修复 flakey 自动手表行为?

问题描述 投票:0回答:0

似乎我一直在与因果报应中的自动观看作斗争......我将保存一个文件,什么也不会发生,我得到:

21 02 2023 17:00:52.118:WARN [Chrome Headless 110.0.5481.100 (Mac OS 10.15.7)]: Disconnected (1 times) , because no message in 30000 ms.
Chrome Headless 110.0.5481.100 (Mac OS 10.15.7) ERROR
  Disconnected , because no message in 30000 ms.
Chrome Headless 110.0.5481.100 (Mac OS 10.15.7): Executed 6 of 1866 (skipped 1860) DISCONNECTED (31.106 secs / 0.107 secs)

然而,此时此刻,我正在保存一个规格文件,我唯一看到的是:

✔ Browser application bundle generation complete.

但测试实际上并没有运行..我一直保存文件,我看到:

✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.

没有测试正在运行..我必须 ctrl-c 并重新运行

npm run test
让它实际运行测试....

我的业力配置文件是:

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage'),
      require('@angular-devkit/build-angular/plugins/karma'),
      require('karma-spec-reporter'),
    ],
    files: [
      'src/test/globalthis.js',
       { pattern: 'src/test/fixtures/*.jpg', watched: false, included: false, served: true, nocache: false }
    ],
    client: {
      jasmine: {
        // you can add configuration options for Jasmine here
        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
        // for example, you can disable the random execution with `random: false`
        // or set a specific seed with `seed: 4321`
      },
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    jasmineHtmlReporter: {
      suppressAll: true // removes the duplicated traces
    },
    proxies: {
      '/fixtures/': '/base/src/test/fixtures/',
    },
    coverageReporter: {
      dir: require('path').join(__dirname, './coverage/my-app'),
      subdir: '.',
      reporters: [
        { type: 'html' },
        { type: 'text-summary' }
      ]
    },
    reporters: ['dots'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['ChromeHeadless'],
    singleRun: false,
    restartOnFileChange: true
  });
});

有谁知道我可以更改什么以使其实际运行测试而不被挂断?

karma-runner
© www.soinside.com 2019 - 2024. All rights reserved.