3

ユニットテストにチェックライブラリを使用したいプロジェクトがあります。

私の現在のプロジェクトはCMakeを使用しており、次の構造を持っています:

.
├── CMakeLists.txt
├──コピー中
├──チェンジログ
├──README
├──ソース
│ ├── コア
│ │ ├── CMakeLists.txt
│ │ └── main.c
│ ├──コアテスト
│ │ ├── CMakeLists.txt
│ │ └── main.c
│ └── スクリプト
└──ドキュメント
    └──protocol.txt

モジュールcore-testの単体テストがあります。coreでは、モジュールなどscrypt-testのテストを行います。scrypt


checkCTest での使用は理にかなっていますか?

checkはいの場合: CMake/CTest プロジェクトに使用する単体テストを接続するにはどうすればよいですか? 有効化された実行可能ファイルからの結果を CTest が解釈するには、追加の構成が必要checkですか?

4

1 に答える 1

2

CTest での使用checkは可能ですが、残念ながら便利ではありません。

失敗を使用した単体テストcheckは、CTest で失敗としてカウントされます。問題は、CTest が失敗したアプリケーションの出力を表示しないことです1。もう 1 つの欠点は、CTest は個々のテストをカウントしないcheckため、「1 つの」失敗したテストが複数のcheckテストを意味する可能性があることです。CTest にチェック結果を解釈させる方法を見つけることができませんでした。


  1. ビルドディレクトリ (またはを実行したのと同じディレクトリ) に次の内容のCTestCustom.cmakeファイルを作成することにより、出力の印刷を強制できます。makectest

    設定 (CTEST_CUSTOM_POST_TEST "cat Testing/Temporary/LastTest.log")

于 2012-02-09T19:38:13.153 に答える