9

Resharper 6では、qunitテストを作成し、resharperテストランナーを使用して実行することができます。しかし、テスト中のコードとテスト中のコードにブレークポイントを設定できるかどうかは疑問です。問題は、ブラウザを開くたびに異なるランダム化されたポート番号を使用することです。つまり、ブラウザにブレークポイントを設定し、F5を押してテストを再実行するだけでは問題ありません。だから、どういうわけか、それは可能でしょうか?Resharperテストランナーを使用している場合、qunitテストでブレークポイントを設定するには

+0

Firefox + Firebugでデバッガ文を使用する方法については、私の答えを参照してください。 –

答えて

5

残念ながら現時点では可能ではありません - this requestを参照してください。デバッグが必要な場合は、HTMLページを作成し、JSライブラリ、テスト、およびQUnitをそれらにドロップし、結果を表示するためにQUnit HTML要素を配置することが、標準的な方法です。こうすることで、JSでブレークポイントを設定できるようになります。

+0

ああ、私はこの問題を自分で見つけられませんでした。しかし、私はそれが存在することを知っている今、それをupvoted。 – Christoph

10

ResharperとVisual studioを使用して簡単にアプローチできます。 ReSharperのテストは終了しません、あなたは何回として、ブラウザでページを更新することができます

QUnit.moduleDone =機能(){}

:ただのjsファイル内の最初の行として置く

あなたは欲しい。ブレークポイントを設定し、ブラウザーでF5キーを押してテストを再実行することができます。

例:あなたが持っている必要があり、ページの最上部に

  • ご参照最初
  • QUnit.moduleDone =機能(){};お使いのブラウザで

    /// <reference path="Scripts/jquery-ver**.min.js"/> 
    /// <reference path="Scripts/jquery-ui.min.js"/> 
    /// <reference path="your_test_file.js"/> 
    
    QUnit.moduleDone = function() {}; 
    

    これは完璧に動作しますが)

    - ちょうどF12(オープンデバッガウィンドウを)打つ、)あなたのブレークポイントを設定し、F5でページを更新)

    :そうよう

+1

これは素晴らしい解決策です!しかし、私はサーバーを殺す方法がわかりません... – Igal

+1

"実行を停止"(停止標識アイコン)をクリックし、次に "実行を停止"(赤いアイコン)をクリックすることにより、サーバーを強制終了することができます。 –

+0

ジャスミンjasmine.currentEnv_.currentRunner_で書かれたテストに似たようなものを作成しました。finishCallback = function(){}; –

1

FirebugプラグインでFirefoxを使用している場合、これを行うことができます:ブレークするコードにデバッガの文を追加します。

var x = 2; 
debugger; 
... 

[すべてのWebページに対してアクティブ]オプションをtrueに設定します。 ReSharperのオプションで、Testing> JavaScriptを使用するブラウザとしてFirefoxを設定します(まだデフォルトになっていない場合)。

現在、Firebugデバッガはデバッガのステートメントでブレークします。

PS私はChromeでこれを試しましたが、途切れることはありませんでした。誰もそれを行う方法を知っていますか?

+2

デベロッパーツールが既に開いている場合、Chromeでも同じことができます。開発ツールがまだ開いていなければ、 'debugger'にヒットした時点で停止しません。 – elwyn

+0

チップをありがとう! –