我正在研究一個包含超過50個庫和可執行文件的大型C++項目。我開始爲每個這些模塊添加googletest測試。我讀到谷歌建議把測試放在可執行文件中,而不是放在庫中以使生活更輕鬆。爲每個單獨的組件創建一個單獨的可執行文件我將獲得超過50個測試可執行文件,並且爲了一次運行它們,我需要創建一個外部腳本,這也需要將它們的輸出組合到一個腳本中。 這是推薦的事情嗎?使用googletest一次運行多個測試模塊的單元測試
或者我應該爲每個獨立模塊的測試創建一個庫,並將所有這些庫鏈接到單個測試可執行文件?但是,對單個模塊進行測試變得不太方便。我需要構建所有測試,並通過gtest_filter標誌指定主測試可執行文件,此時應執行哪些測試。
這真的會幫助我聽到其他人如何做到這一點,以及這裏的最佳做法是什麼。
謝謝
對於你的情況來說,有些難以分辨'最佳實踐',但是我會爲每個模塊(庫)分配不同的測試運行器。在使用JUnit-XML格式(例如XSLT)時,收集輸出並將它們合併成單個報表可能最容易。 –
你正在使用什麼構建系統?我想你應該能夠爲所有50個庫創建單個測試可執行文件,如果需要,可以爲個人庫創建PLUS 50測試運行器。 我自己的建議是有一個單一的測試可執行文件,但這是個人偏好。所有測試的組合運行時間是多少?我希望有一個單獨的可執行文件,以便於執行自動化測試。 – NicholasM
感謝您的兩條評論。我想這裏提出的兩個問題都可以接受。我認爲在這一點上,我會選擇爲每個測試組件創建一個單獨的可執行文件,並將結合使用一個外部腳本來運行它們,這些外部腳本也會將其輸出結合到一個文件中。 – noplk1