2

Jasmine にはiit()andがありddescribe、Mocha にはit.onlyanddescribe.onlyがありますが、QUnit を単一のテストの実行に集中させる方法がわかりません。

QUnit UI を使用すると単一のテストを実行できますが、QUnit UI が表示されないため、Karma 内でこれを機能させる方法がわかりません。

4

4 に答える 4

2

QUnit はこのためにうまく設計されていませんが、改善することができます!

QUnit のフィルタリングメカニズムは、(文字列、テストの名前)validTestを読み取る関数です。https://github.com/jquery/qunit/blob/master/src/core.js#L820QUnit.config.filterを参照してください。

2 つの問題があります。

  1. 選択できるテストは 1 つだけです。
  2. 選択したテスト名を事前に知っておく必要があります (テストは作成時にフィルター処理されるため)。

QUnit を次のように変更することを提案します。

  • カスタム「フィルター」関数を使用したフィルター (デフォルトの実装は、現在の機能と同じことができますvalidTest)、
  • 実行時にテストをフィルタリングします (つまり、最初にすべてのテストを収集します)。

そうすれば、包括的なテストの実装は簡単になります;-)

于 2013-10-07T00:03:04.490 に答える
1

これをテストファイルの先頭に追加します

var ttest = test;
test = function() {}

そして、実行したいテストの名前を に変更しますttest。不器用に見えますが、シンプルでうまく機能します。

于 2014-11-02T13:44:41.707 に答える
1

使えると思いますonly。ドキュメントから取得:

test('my test 1', function (assert) { ... });

only('my test that will be run exclusively now', function (assert) { ... });

したがって、 word を使用する代わりにtest、 を使用しますonly

于 2017-09-25T18:38:48.753 に答える