0
谷歌建議鏈接到googletest成可執行文件,並執行經由命令行參數的測試。谷歌測試可執行文件或靜態/動態庫?
我與C#和Java的單元測試框架的工作,喜歡測試運行連續執行多個庫/組件的測試。
- 具有較大代碼庫(許多庫)的人如何管理他們的googletests?
- 你有多個可執行文件?你使用shell腳本等?
- 你如何與試驗結果的工作?
谷歌建議鏈接到googletest成可執行文件,並執行經由命令行參數的測試。谷歌測試可執行文件或靜態/動態庫?
我與C#和Java的單元測試框架的工作,喜歡測試運行連續執行多個庫/組件的測試。
在我們的項目中,我們對某些特定模塊(大約60個模塊)進行了數百個單元測試,我們正在使用googletest。爲了避免在我們的項目的bin目錄中有這麼多的可執行文件,我們編譯了我們的單元測試,但沒有鏈接它我們還爲每個單元測試文件創建了* .unit_dep文件,我們在其中指定了鏈接器的所有依賴關係。
最後,我們寫了一個簡單的程序,這將打開那些unit_dep文件,在運行期間編譯單元測試到共享庫中,然後通過dlopen的動態加載的那些庫()和通過調用googletest庫的main()函數執行。測試完成後,我們刪除所有臨時* .so文件。
的好處是,我們有它運行所有測試只有一個可執行文件。支付的價格是共享庫創建的一些開銷時間。