Multiple implementations of the same back-end application. The aim is to provide quick, side-by-side comparisons of different technologies (languages, frameworks, libraries) while preserving consistent business logic across all implementations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

37 lines
1.0 KiB

cmake_minimum_required(VERSION 3.20)
enable_testing()
find_package(Catch2 CONFIG REQUIRED)
find_package(trompeloeil CONFIG REQUIRED)
# Macro to create test executable
function(add_test_target TEST_NAME SOURCE_FILE)
add_executable(${TEST_NAME}
${SOURCE_FILE}
)
target_link_libraries(${TEST_NAME}
PRIVATE
AutoStoreLib
Catch2::Catch2WithMain
trompeloeil::trompeloeil
)
target_include_directories(${TEST_NAME}
PRIVATE
${PROJECT_SOURCE_DIR}/lib/include
${PROJECT_SOURCE_DIR}/lib/src
${PROJECT_SOURCE_DIR}/tests
)
# Add test to CTest
add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
endfunction()
# Create test executables
add_test_target(FileItemRepositoryTest integration/FileItemRepository.test.cpp)
# add_integration_test(FileUserRepositoryTest integration/FileUserRepository.test.cpp)
add_test_target(AddItemTest unit/AddItem.test.cpp)
add_test_target(TaskSchedulerTest unit/TaskScheduler.test.cpp)