Почему, если в проекте есть main функция, не находятся тесты gtest?
Если я добавляю в исходники файл entry_point.cpp
int main(){
return 0;
}
то при запуске тестов, они не находятся
cmake ..
cd ..
cmake --build build
cd build/
ctest
Получаю сообщение, что тесты не найдены.
No tests were found!!!
Но, если убрать файл entry_point.cpp из сборки, то все будет работать.
Файл cmake
cmake_minimum_required(VERSION 3.14)
project(my_project)
# GoogleTest requires at least C++11
set(CMAKE_CXX_STANDARD 11)
include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/refs/heads/main.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
enable_testing()
add_executable(
hello_test
#src/MI.entry_point.cpp
src/Base/MI.fast_mod_unittest.cpp
src/Base/MI.fast_mod.h
)
target_link_libraries(hello_test gtest_main)
target_link_libraries(hello_test gmock_main)
include(GoogleTest)
gtest_discover_tests(hello_test)
Наверное, нужно создавать два проекта, один с тестами, другой с функцией main?