私は自分のプロジェクトのテストをセットアップしようとしていますが、例外が無効になっており、アサートを定義してstd :: abortを呼び出すようにしました。 gtestとCatchの両方は、テストスイート全体を強制終了するので、std :: abortを呼び出す1つのテストでのみ失敗することができます。
私のプロジェクトは、テストプロジェクト/実行可能ファイルが参照するDLLにコンパイルされます。脇から:コード内のアサートを生き残るC++テストスイート
- 例外を有効にした私は失敗するアサーションに依存しないためにカスタムコンパイルターゲットを作成し、1
- リストラコードと同様に何かをすること
- 投げるアサート
他のオプションはありますか?私は設計/速度の問題のために例外を有効にしたくないと思う。はい、できます
1. Can I do testing without exceptions?
:
googletestはこれをサポートしています。死亡診断のための検索。 –
アプリケーションが異常終了したことを示すデステストテスト。私がコードを構造化する方法は、事実上いつでも発生する可能性のあるエラーがいつでも中止されます。 – Vitali
それはおそらくあまり良いデザインではありません。 –