如何在 Angular CLI 应用程序中配置 Jasmine(例如 failSpecWithNoExpectations)?

How to configure Jasmine's (e.g. failSpecWithNoExpectations) in Angular CLI applications?

我正在尝试使用 the Jasmine Configuration docs 中的 failSpecWithNoExpectations,方法是在 karma.conf.js 中设置它:

module.exports = function (config) {
  config.set({
    failSpecWithNoExpectations: true,
    // etc. all defaults from `ng new`
  });
};

但它没有被拾取,甚至在 ng test --watch 重新启动后也没有。我一直看到:

SPEC HAS NO EXPECTATIONS should do blahblah

但作为成功,没有报告失败。

我尝试了一些方法:

我没有主意....在 Angular 8+ CLI 应用程序中配置 Jasmine 选项的惯用位置是什么?

Jasmine 配置选项必须位于 Karma 配置的 client.jasmine 部分。这是我的配置来自 Angular CLI 默认值。

  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-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      clearContext: false,
      jasmine: {
        failSpecWithNoExpectations: true
      }
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false,
    restartOnFileChange: true
  });

我相信该部分是由 karma-jasmine 适配器处理的,并且是 described in its docs