2015-12-03 18 views
11

私のユニットテストは、カルマ/ジャスミンからグランツを使用して実行されます。私が走るときVisual StudioコードでGruntから実行されたジャスミンテストをデバッグする方法は?

grunt test 

テストはコマンドラインから実行されます。

Visual Studioコードでプロジェクトを開くときに、Tasks: Run Test Taskを使用して同じコマンドを実行できます。 VSCodeは、testパラメータでGruntを実行し、出力を表示します。

この場合、VSCodeによって実行されるテストケースをどのようにデバッグできますか? F5を押すと、launch.jsonテンプレートファイルが開きます。 grunt testによって実行される同じテストケースを開始/デバッグするには、programargsなどに何を提供する必要がありますか?

私は次のことを試してみました:

  • program/usr/local/bin/grunt
  • args["test"]

これが正常兵卒プロセスを開始し、テストが実行されているが、それはで停止しません。私のテストコード内のブレークポイント。

さらに、数秒後にVSCodeプロセス全体を終了(またはクラッシュ)します。それがVSCodeのバグか、上記の実行コンフィギュレーションの結果かはわかりません。

答えて

2

この打ち上げの設定は、VSコード0.10.2に私の作品:

{ 
    "name": "grunt", 
    "type": "node", 
    "request": "launch", 
    "program": "/usr/local/bin/grunt", 
    "args": ["test"], 
    "stopOnEntry": false 
} 

私の「テスト」の作業にブレークポイントを設定するには、そこに停止するVSコードデバッガを作りました。私はGruntfileをローカルにインストールする必要がありました(私がGruntfileを持っているフォルダに)。

+0

私はその設定を試してみましたが、テスト実行が終了するとVSコードアプリ全体が閉じられます... – nwinkler

+0

私は今これを理解しようとしています - 私は実行コードをデバッグできるようです'Gruntfile.js'しかし、それ以外のものは...私が私と@nwinklerが欲しいと思うものです。 –

2

現在、node --debug-brk grunt testのようなテストを行うことはできません。ジャスミンは、デバッグフラグを設定しないでこれらのスペックファイル上のノードを呼び出します。私はこれを試してみましたが、ここで私が得たものである:

node --debug-brk=3691 --nolazy ../../../usr/local/bin/grunt kftest --schema=9.2.1 --dbtype=sqlite --target=builder/properties --spec=test/builder/properties/properties-spec.js 
Debugger listening on port 3691 
Running "kftest" task 
>> going to run with spec: test/builder/properties/properties-spec.js 
>> command: node --debug-brk=46307 /Users/computername/project/node_modules/jasmine-node/lib/jasmine-node/cli.js test/builder/properties/properties-spec.js 
Running "shell:kftest" (shell) task 
Debugger listening on port 46307 

46307は何によって検査されていない間、今vscodeのデバッガは、3691を見ていることになるので、これはあまり役に立たない - と私が言う方法がわかりませんvscodeもそのポートをリッスンします。

{ 
    "name": "Jasmine-Node Debugging", 
    "cwd": "${workspaceRoot}", 
    "program": "${workspaceRoot}/node_modules/jasmine-node/lib/jasmine-node/cli.js", 
    "request": "launch", 
    "type": "node", 
    "args": [ 
    "test/builder/properties/properties-spec.js" 
    ] 
} 

希望に役立ちます:

Debugging jasmine-node tests with node-inspectorは基本的に私のvscode launch.jsonはこのように見えた設定が含まれていました。私がやってしまったものを

サイコーは、ここに掲載の答えに従うことでした。

+0

ありがとう、launch.jsonのこの設定は私のために働く。 – cateyes

関連する問題