3
我正在使用C++的谷歌測試框架。遵循文檔和示例,我最終爲每個創建的測試「.cc」文件創建了一個單獨的可執行文件。有沒有辦法創建一個可以調用我所有單元測試的單個可執行文件?googletest:如何將所有測試包含在一個可執行文件中?
我想將我的項目放在一個報告測試狀態的CI工具中,所以我希望只有一個XML輸入文件而不是很多。
我make文件的肉看起來是這樣的:
class1_unittest.o : $(USER_TEST_DIR)/class1_unittest.cc $(USER_DIR)/class1.h $(GTEST_HEADERS)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_TEST_DIR)/class1_unittest.cc
class1_unittest : class1.o day.o class1_unittest.o gtest_main.a
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -pthread $^ -o $(PROJECT_BIN)/[email protected]
class2_unittest.o : $(USER_TEST_DIR)/class2_unittest.cc $(USER_DIR)/class2.h $(GTEST_HEADERS)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_TEST_DIR)/class2_unittest.cc
class2_unittest : class2.o day.o class2_unittest.o gtest_main.a
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -pthread $^ -o $(PROJECT_BIN)/[email protected]
你是否定義了'main'很多次?只需定義一次,並將所有'.cc'文件鏈接在一起。 –
我的任何一個測試文件都沒有main。如果我放入一個,並調用「RUN_ALL_TESTS()」,我如何將cc文件鏈接到我的make文件中?這不像他們有彼此的課程可供參考。 – RepDetec