2016-05-27 5 views
1

WebStorm 2016.1.2を使用して作成したJasmineテストをデバッグしようとしています。NodeJS、WebStorm、Jasmine:ReferenceError:デバッグ時にdescribeが定義されていません

私のテストコードは次のようになります。WebStormで

│ 
├───node_modules 
│ ├───.bin 
│ ├───aws-sdk 
│ │ └───<snip> 
│ ├───jasmine 
│ │ └───<snip> 
│ ├───jasmine-core 
│ │ └───<snip> 
│ ├───karma 
│ │ └───<snip> 
│ ├───karma-jasmine 
│ │ └───<snip> 
│ ├───should 
│ │ └───<snip> 
│ └───sinon 
│  └───<snip> 
├───spec 
│ ├───support 
│ │ └───jasmine.json 
│ └───my-lib.spec.js 
└───my-lib.js 

そして、私のNodeJSの設定は次のようになります。:

WebStorm Javascript Library Settings

var should = require("should"); 
var myLib = require("../my-lib"); 

describe("Scenario",() => { 
    it("works as expected",() => { 
     myLib.do().should.not.throw() 
    }); 
}); 

私のディレクトリ構造は次のようになります

デバッグするにはちょうど打つよF 5を選択し、実行するファイルをmy-lib.spec.jsにしてください。

"C:\Program Files (x86)\JetBrains\WebStorm 2016.1.2\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=22714 my-lib.spec.js 
Debugger listening on port 22714 
c:\Users\<me>\WebstormProjects\my-lib\spec\my-lib.spec.js:4 
describe("Scenario",() => { 
^ 

ReferenceError: describe is not defined 
    at Object.<anonymous> (c:\Users\<me>\WebstormProjects\my-lib\spec\<my-lib>.js:4:1) 
    at Module._compile (module.js:410:26) 
    at Object.Module._extensions..js (module.js:417:10) 
    at Module.load (module.js:344:32) 
    at Function.Module._load (module.js:301:12) 
    at Module.runMain [as _onTimeout] (module.js:442:10) 
    at Timer.listOnTimeout (timers.js:92:15) 

Process finished with exit code 1 

誰もがWebStormはジャスミンがグローバルにインストールされていることは素晴らしいことだろうと認識させる方法を知っている場合:私は、その後、次のスタックトレースを取得します。

EDIT:レナにより示唆されるように、私は次の構成とカルマの実行構成を設定しているKarma configuration

私はこれを実行するために、F5キーを打つ、Chromeブラウザがポップアップし、空白である(I

+0

に「NPMテスト」を実行しますか? –

+0

あなたはただ( 'ジャスミン')を要求できますか?テストファイルには? – joshvito

答えて

1

jasmine-nodeモジュールを試してみてください。ChromeのJetBrainsプラグインがインストールされています。

F5キーを押したときにjsファイルに送信するコマンドによって異なります。 jasmine-node <test files>ではなく、node <test files>である必要があります。

コンソール/端末でそれを試して、動作するかどうか確認してください。それは間違ったコマンドを送信するWebの嵐かもしれません。

あなたはジャスミンノードがインストールされてしまっていない場合、あなたはあなたがあなたのテストを実行するためにNode.jsの実行構成を使用している

npm install jasmine-node -g

+1

'jasmine-node'は長い間更新されておらず、最新バージョンのJasmineをサポートしていません。 – brimble2010

1

を行うことができます - とノードは、あなたのテストフレームワークについて何も知りません。テストランナー(カルマがインストールされている場合など - カルマなど)を使用する必要があります。カルマラン構成を試してみてください。 https://confluence.jetbrains.com/display/WI/Running+JavaScript+tests+with+Karmaを参照してください。

ところで、あなたのカルマで万一を使用してのような場合は、あなたのメインフォルダにkarma-should

-1

を試し、「package.json」ファイルがあります。 開き、その、あなたはこのようなものが表示されます:「ノード」、=>「テスト」:「ジャスミン」

{ 
    "name": "prep", 
    "version": "1.0.0", 
    "main": "server/server.js", //This can be different 
    "scripts": { 
    "lint": "eslint .", 
    "start": "node .", 
    "posttest": "npm run lint && nsp check" 
    }, .... 

は次に「開始」の後に以下を追加します。 それは次のようになります。

{ 
    "name": "prep", 
    "version": "1.0.0", 
    "main": "server/server.js", 
    "scripts": { 
    "lint": "eslint .", 
    "start": "node .", 
    "test": "jasmine", 
    "posttest": "npm run lint && nsp check" 
    },.... 

は、その後、あなたがすべきと一緒にモカを使用してはいけません、端末

関連する問題