Notatnik techniczny

Googletest w środowisku Windows

Poniżej pokazuje jak szybko, łatwo i bez stresu dodać testy jednostkowe do projektu c++ w środowisku windows.

1) Pobieramy kod biblioteki googletest i umieszczamy w dogodnym miejscu.

googletest windows local directory

2) Dodajemy zmienną środowiskową zawierającą ścierkę do biblioteki. Wygodne narzędzie do tego celu jest opisane w tym wpisie. Konieczne może okazać sie ponowne zalogowanie aby zmiana była widoczna z poziomu cmake.

googletest enviroment variable

3) Modyfikujemy plik cmake wg. poniższego przykładu. Poniżej plik cmake z jednego z moich projektów.

cmake_minimum_required(VERSION 3.13)
project(Interval_container)

add_subdirectory($ENV{gtest_DIR}/ gtest)

include_directories($ENV{gtest_DIR}/googletest/include $ENV{gtest_DIR}/googletest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
set(CMAKE_CXX_STANDARD 14)


add_executable(Interval_container_tests IntervalMap.h Tests/tests.cpp)

target_link_libraries(Interval_container_tests gtest gtest_main)

Istotne fragmenty:

Dodajemy zewnętrzny peojekt do naszego projektu

add_subdirectory($ENV{gtest_DIR}/ gtest)

Definiujemy foldery gdzie kompilator będzie szukał plików nagłówkowych:

include_directories($ENV{gtest_DIR}/googletest/include $ENV{gtest_DIR}/googletest)

Linkujemy gtest z naszym projektem

target_link_libraries(Interval_container_tests gtest gtest_main)

4) Gotowe. Możemy uruchomić testy. Poniżej widok z konsoli CLion.

googletest clion