Я использую платформу проверки Google для C++. Следуя документации и примерам, я получаю отдельный исполняемый файл для каждого тестового файла «.cc», который я создаю. Есть ли способ создать единый исполняемый файл, который будет вызывать все мои модульные тесты?googletest: Как включить все мои тесты в один исполняемый файл?
Я хотел бы поместить свой проект в инструмент CI, который сообщает о состоянии теста, поэтому я хотел бы иметь один XML-входной файл вместо многих.
Мясо моего макияжа файл выглядит следующим образом:
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'. –
У меня нет основного в любом из моих тестовых файлов. Если я поместил его и назову «RUN_ALL_TESTS(),« как связать файлы cc вместе в файле make? Не похоже, что у них есть классы друг для друга. – RepDetec