7

カルマ構成が正しく設定されており、構成ファイルがバックグラウンドで実行されています。ファイルを変更して保存するとすぐに、テストが再実行されます.... 750個すべての単体テスト。少しだけ走れるようになりたいです。構成ファイルを手動でハッキングしたり、多くのファイルにまたがる何百ものテストをコメントアウトしたりする以外に、簡単な方法はありますか?

たとえば、mocha を使用してコマンド ライン サーバー テストを実行する場合は、 regexp: を使用しますmocha -g 'only tests that I want'。デバッグと迅速なチェックがはるかに簡単になります。

4

6 に答える 6

4

残念ながら、実行時ではなく、カルマの起動時にそれを行うことができます。動的に変更したい場合は、さらに努力する必要があります。

最初から特定のテストのセット/スイートに集中したいとします。karma-mochaプラグイン ページには、必要なことを行うための次のコード スニペットがあります。

module.exports = function(config) {
  config.set({
    // karma configuration here
    ...

    // this is a mocha configuration object
    client: {
      // The pattern string will be passed to mocha
      args: ['--grep', '<pattern>'],
      ...
    }
  });
};

<pattern>パラメトリックを作成するには、CLI をリッスンしてカルマ構成をカスタマイズするコンフィギュレーターで構成ファイルをラップする必要があります。

非常に単純なConfiguratorをセットアップする方法を知るには、この SO answerをご覧ください。

于 2014-10-28T10:12:00.703 に答える
0

1) karma.conf.js で、端末からパラメーターを取得します。

var files = (process.env.npm_config_single_file) ? process.env.npm_config_single_file : 'test/test_index.js';

2) 単一のテストを実行するには、すべての構成 (ファイルとプリプロセッサなし) でオプション オブジェクトを設定する必要があります。

var option = {

  webpack: {
    // webpack configuration
  },

  // more configuration......
};

3) ファイル パスとプリプロセッサを設定します。

  option.files = [
      {pattern: files, watch: false}
  ];

  option.preprocessors = {};

  option.preprocessors[files] = [ 'webpack', 'sourcemap' ];

  // call config.set function
  config.set(option);

4) ターミナルで実行します。

npm test --single_file=**/my-specific-file-spec.js

詳細については、この PR を確認してください: https://github.com/webpack/karma-webpack/pull/178

于 2016-10-11T16:49:30.023 に答える
0

ここで役立つ便利な拡張機能は、karma-jasmine-html-reporter-livereload https://www.npmjs.com/package/karma-jasmine-html-reporter-livereloadです。

or karma-jasmine-html-reporter https://www.npmjs.com/package/karma-jasmine-html-reporter?__hstc=72727564.86845f057bb4d741f59d578059e30644.1443860954685.1453095135802.1453138187458.37&__hssc=72727564.1.1453138187458&__hsfp=2285154675

各テストを個別に実行できるデバッグ ページが作成されます。大規模なプロジェクトに非常に便利です。

于 2016-01-18T17:30:51.033 に答える