2015-10-14 7 views
9

私はResharper 9.2とNUnit 2.6.4と〜12​​0ユニットテストを使用しています。時々私がランテストを開始するとき、resharperはランダムテストで停止し、ステータスをAbortedに設定し、他をスキップします。私は手動で残りのテストを実行しているので、非常に不便です。 私の問題を解決するために、中絶、いくつかのresharperテスト実行ログ、または何かNUnitの理由を得る方法はありますか?Resharperの中断したテストの理由をどのように得ることができますか?

私はまた、ネイティブNUnitのランナーを使用しようとしたが、それは時々私は「セット1つの組立までを実行しようとしてきました

任意の有用な情報(有益な何も伝えていないいくつかのリモート処理の例外)が含まれていない例外がスローされます「並列で」と「テストでアセンブリごとに別々のAppDomainを使用する」とは言いますが、それは役に立ちません。私はデバッグモードでこれを再現しました

UPDは、デバッグユニットテストだけでシャットダウンし、出力ウィンドウに私が見つけた:

The program '[4572] JetBrains.ReSharper.TaskRunner.CLR4.exe: Program Trace' has exited with code 0 (0x0). 
The program '[4572] JetBrains.ReSharper.TaskRunner.CLR4.exe: Managed (v4.0.30319)' has exited with code -1073741819 (0xc0000005) 'Access violation'. 

その問題がの外部ライブラリが安全ではないようですコード。

+1

ネイティブコードのデバッグを試みるか、単にロギングを追加してください。 –

答えて

1

この場合、resharperは何もしないようです。アクセス違反エラーが発生しました。この場合は、テスタープロセスがシャットダウンされます。管理されたレベルにないため、このエラーを処理する方法はありません。 "プログラム '[4572] JetBrains.ReSharper.TaskRunner.CLR4.exe:Managed(v4.0.30319)'がコード-1073741819(0xc0000005)で終了しました 'というエラーメッセージが表示されたら、出力ウィンドウをチェックインするだけですあなたのテストが何の理由もなく打ち切られたときには、違反です。 ネイティブコードにアクセスできる場合は、デバッグできます。

私の場合、問題はCOMオブジェクトとDispose()メソッドの不適切な使用でした。私はそれを修正しました、そしてすべては今は大丈夫です - "沈黙の"中絶はありません。

+0

Googleを検索してから、これが私の解決策でした。ブラボー!私はテストをデバッグし、スタックトレースを持たないネイティブコードでFatalExecutionEngineErrorを見ました。したがって、Resharpersにはエラーメッセージがありません。今私はそれが何であるかを知っている、私はそれを修正することができます! –

1

Resharperが一貫してテストを中止することにしたケースもありました。それは、管理されていないか、何か変なことを要求しなかった。

答えは、誤った再帰呼び出しの結果、stackoverflow例外が発生したことです。これは、それらを「実行」する代わりに「デバッグ」することに決めたときに明らかでした。

だから私は、 "中止"テストは何かが間違っているという現象であると考えていますが、そのエラーはコード自体から例外がスローされることはありませんが、CLRなどからです。

+0

実行の代わりにデバッグがキーです。私は自分自身を蹴りたいので、とてもシンプルです。 –

関連する問題