mirror of
https://github.com/jorenchik/testing-spring-2024.git
synced 2025-10-21 20:10:36 +00:00
test: add google tests
This commit is contained in:
parent
29f9e60a33
commit
6b7f41e41a
@ -7,11 +7,37 @@ project(
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# GoogleTest requires at least C++14
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
enable_testing()
|
||||
|
||||
add_subdirectory(src/modules)
|
||||
|
||||
add_executable(main src/main.cc)
|
||||
add_executable(test_validation src/test_validation.cc)
|
||||
add_library(validation src/validation.cc src/validation.hh)
|
||||
target_link_libraries(main PUBLIC validation)
|
||||
target_link_libraries(validation PUBLIC modules)
|
||||
target_link_libraries(validation PRIVATE modules)
|
||||
|
||||
target_include_directories(main PUBLIC "${PROJECT_BINARY_DIR}"
|
||||
"${PROJECT_SOURCE_DIR}/modules")
|
||||
|
||||
target_include_directories(
|
||||
test_validation PUBLIC "${PROJECT_BINARY_DIR}"
|
||||
"${PROJECT_SOURCE_DIR}/modules")
|
||||
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
|
||||
)
|
||||
# For Windows: Prevent overriding the parent project's compiler/linker settings
|
||||
set(gtest_force_shared_crt
|
||||
ON
|
||||
CACHE BOOL "" FORCE)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
|
||||
include(GoogleTest)
|
||||
target_link_libraries(test_validation PRIVATE GTest::gtest_main)
|
||||
gtest_discover_tests(test_validation)
|
||||
|
||||
10
src/test_validation.cc
Normal file
10
src/test_validation.cc
Normal file
@ -0,0 +1,10 @@
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
TEST(ExampleTest, Example) {
|
||||
EXPECT_EQ(1, 1);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user