目前我有一個test
文件夾,每個測試有多個源文件。在CMake上,我之前爲每個源文件定義了一個二進制文件,但決定現在應該將它們全部合併爲一個二進制文件,並使用GTest中的篩選器來選擇要運行的測試。這些源文件都沒有main()
函數,但我猜GTest框架只是在運行時隱式調用它。在Google的C++測試框架中爲多個單元測試創建一個二進制文件
所以現在我創建了一個測試管理器源文件,它除了一個main()
之外什麼都沒有,它調用InitGoogleTests
和RUN_ALL_TESTS()
幷包含所有的測試源文件。據谷歌稱,這是一種'最後的手段'。
我該如何正確地做到這一點?我真的應該爲每個測試源創建頭文件並在其中寫入聲明,然後將所有這些頭文件包含在我的測試管理器源代碼中?有沒有其他...更容易...做到這一點的方式?