我開始使用單元測試開發我的應用程序的高尚之路的第一步,但它證明是一個陡峭和粗糙的。我正在Qt中開發一個應用程序,所以認爲他們的QTestLib框架。現在,我明白如何進行單元測試,但似乎無法弄清楚如何將單元測試合併到項目中。 說我有一個控制檯應用程序,它只是一個main.cpp和一個cpp和h文件,用於我想開發的類,比如說MyClass。我想正確的做法是創建一個相應的測試類MyClassTest及其h和cpp文件。但是我應該把它放到同一個項目中嗎?或者更確切地說,爲單元測試創建一個單獨的項目,以便訪問「主」項目中的文件(不知道我該怎麼做)?在一個項目中使用QT單元測試 - 衝突的主函數
如果主應用程序和測試都在同一個項目中,我該如何運行測試而不運行應用程序或其他方式?我嘗試將單元測試中的Qt教程1中的文件合併到控制檯項目中,但問題在於它們使用的宏QTEST_MAIN(TestQString)
擴展爲main(...)
函數。這會導致與main.cpp中的main(...)
發生衝突。那麼,我可以重新命名一個,但問題仍然存在 - 我如何運行測試或應用程序本身?如果我重寫QTEST_MAIN
宏(反正這是一個壞主意),我禁用測試。如果我在main.cpp中重命名main(...)
函數,那麼實際的應用程序永遠不會被執行。我想應該有辦法爲項目創建兩個單獨的可執行文件,一個運行單元測試,另一個啓動應用程序,但無法弄清楚如何去做。
幾分鐘前,我剛剛偶然發現了這篇文章,的確看起來像是要走的路 - 謝謝! – Puchatek 2012-03-20 03:06:03