2012-02-05 66 views
2

我有一個項目,我想在其中使用check庫進行單元測試。如何在CTest中使用帶CTest的檢查庫進行單元測試C

我現在的項目使用CMake和具有以下結構:

 
. 
├── CMakeLists.txt 
├── COPYING 
├── ChangeLog 
├── README 
├── src 
│   ├── core 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│   ├── core-test 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│ └── scrypt 
└── doc 
    └── protocol.txt 

core-test我有core模塊的單元測試。在scrypt-test我將測試scrypt模塊等。


是否使用check與CTest有意義?

如果是:如何連接使用check到CMake/CTest項目的單元測試?我是否需要CTest的額外配置來解釋check -enabled可執行文件的結果?

回答

2

使用check與CTest是可能的,不幸的是不方便。

當使用check的單元測試失敗時,它們將被視爲CTest中的失敗。問題是,CTest不顯示失敗應用程序的輸出。另一個缺點是CTest不會計入單個check測試,所以「單一」失敗測試可能意味着多個check測試。我無法找到一種方法讓CTest解釋檢查結果。


  1. 您可以通過創建CTestCustom.cmake文件中構建目錄(同一個在其中運行makectest)與下列內容強制輸出的打印:

    集(CTEST_CUSTOM_POST_TEST「貓Testing/Temporary/LastTest.log「)

相關問題