web-dev-qa-db-ja.com

ブレークポイントにgoogletestの失敗を使用する方法

私は最近、コマンドラインオプションgtest_break_on_failureを使用して、またはGTEST_BREAK_ON_FAILURE環境変数を定義することにより、googletestからFailures into Break-Points --optionを発見しました。

gtest_break_on_failureを使用して試してみました。コマンドラインからは何の効果も見られませんでした(正直なところ、VS2010がデバッガーとして登録され、どういうわけか魔法のようにポップアップしてエラーソースを指すという希望を垣間見ました)。

VS環境でコマンドライン引数として使用すると、失敗したアサーションが中断をトリガーしましたが、呼び出しスタックには失敗の原因となったテストメソッドが含まれていませんでした。テストコードに到達するまで、ステップ(F10)の回避策を見つけましたが、それは実際には便利ではないようです。

コマンドラインからオプションを使用することはどういうわけか可能ですか?

環境内で正しいコールスタックを取得する方法について誰かが推奨していますか?

20
anhoppe

VSから、ターゲットのプロパティページのコマンド引数に--gtest_break_on_failureを追加し、ステップオーバーせずにexeを実行できます。

Property Pages showing Command Arguments

コマンドラインから、フラグ--gtest_break_on_failure --gtest_catch_exceptions=0を指定してDebug実行可能ファイルを実行できるようになります。これにより、テストが失敗したときにMSVCデバッガーに侵入できるようになります。

26
Fraser