12

Jasmine 仕様の小さなプロジェクトがあり、Testacular をテスト ランナーとして使用しています。アプリ コードまたは仕様コードの両方をデバッグする方法がわかりません。Chrome Dev Tools でブレークポイントを設定しようとすると、毎回新しいクエリ文字列でファイルをロードするため、スペックが次に実行されるときにヒットしません。

これまでに見つけた最良の方法は console.log() を使用することですが、Chrome Dev Tools ブレークポイントを使用したいと思います。

(開発には Visual Studio 2012 を使用しています。)

ありがとう

4

3 に答える 3

13

Testacular は、デバッグに使用する最適なツールではありません。複数のブラウザでテストを実行し、非常に迅速に実行し、ファイルを変更するたびに実行できるため、テストが壊れているかどうかがわかります。ただし、デバッグが必要な場合は、最適なツールではありません。

実際、コードに「デバッガー」ステートメントを入れてブレークさせることができますが、それが複数のテストでヒットする共通のコード行である場合、テストで同じブレークポイントを数十回以上ヒットする可能性があります。おそらく、特定のシナリオでのみ壊れているため、問題が発生している 1 つの発生を除いて、すべてのブレークポイントをスキップする必要があります。mocha または jasmine を使用している場合、テスト スイート全体で単一のテストのみを実行する方法があります。その1つのテストをit()からiit()に変更しているジャスミンでは、モカではit.only()です。それでも、testacular はこの仕事には不適切なツールです。

はるかに優れた解決策は、別のテスト「セットアップ」を使用して、壊れている単一のテストを実行することです。これは、jasmine や mocha など、選択したテスト フレームワークを使用して簡単に実行できます。testacular は自動化ツールであり、テスト フレームワークではないため、これらのフレームワークのいずれかで testacular テストを既に作成しているはずです。テスト ランナー ファイルを作成し、それを使用してファイルをロードします。Chrome を使用している場合は、開発ツールに移動し、MAC では Command-O、Windows では Control-O を押して、目的のファイルを選択します。ブレークポイントを入れて、ブレークポイントを設定すると、ガスで調理しています。

テスト フレームワークで従来の「テスト ランナー」を使用しても、testacular を使用しても衝突しません。二人は楽しくコンサートを繰り広げます。

主要な 3 つのテスト フレームワークでこれを行うための私の推奨記事へのリンクを次に示します。

ジャスミン: http://net.tutsplus.com/tutorials/javascript-ajax/testing-your-javascript-with-jasmine/

QUnit: http://www.testdrivenjs.com/getting-started/qunit-setup/

Mocha: これに関する適切な記事へのリンクがありません。2013 年 2 月中旬までに、クライアントサイド JavaScript のテストに関する私の PluralSight,com コースが公開され、QUnit と Jasmine のセットアップに関する詳細な指示とともに、そこで見つけることができます。彼らはあなたが支払うことなくコンテンツを表示するために使用できる短い無料試用版を持っています. この URL は、公開時にそのコースにリンクされます。 http://pluralsight.com/training/Au​​thors/Details/joe-eames

于 2013-01-24T06:41:32.650 に答える
6

ステートメントdebugger;を単独で使用できます。開発者ツールパネルが開いていてブレークポイントが有効になっている限り、Chromeはそのステートメントを中断します。

于 2013-01-19T08:44:58.990 に答える
4

Karma (以前は Testacular) を使用してテストをデバッグするための私のお気に入りのアプローチは、このプラグインを使用することです。

次のように Karma を起動します。

karma start karma.conf.js --browsers=Chrome --single-run=false --reporters=kjhtml

これにより、[デバッグ] ボタンのあるデバッグ モードで Karma が開きます。それをクリックすると、Chrome ウィンドウですべてのテストが実行され、結果が表示されます。この時点で、開発者ツールを使用したり、ブレークポイントを設定したり、コードにステップインしたりできます。

さらに良いことに、失敗したテストをクリックすると、その 1 つのテストのみを実行するモードに切り替わります。これで、他のすべてのテストが実行されるのを待たずに、その 1 つのテストをすばやくテストおよびデバッグできます。

この動作を確認するために、このライブラリをプロジェクトに追加した GitHub プル リクエストを次に示します。

https://github.com/edx/edx-ui-toolkit/pull/12

于 2015-10-23T12:48:26.313 に答える