Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Korzystanie z biblioteki Boost do testów jednostkowych.

Ostatnio zmodyfikowano 2017-07-11 17:37
Autor Wiadomość
marc_xxx
Temat założony przez niniejszego użytkownika
Korzystanie z biblioteki Boost do testów jednostkowych.
» 2017-07-10 23:58:04
Witam.
Zainstalowałem na linuxie bibliotekę boost. Korzystam ze środowiska CLion, które korzysta z CMake'a. Generalnie dopiero zaczynam z testami jednostkowymi i średnio jeszcze ogarniam linuxa. Nie wiem czy jeżeli na linuxie zainstaluję jakąś bibliotekę to będzie automatycznie wykrywana w każdym środowisku i mogę ją potem dołączyć poprzez #include. Podobne wątpliwości mam co do boosta. Chciałbym pisać testy jednostkowe. Nie mam problemów z pisaniem samych testów - jest mnóstwo poradników w internecie. Mam problem z dołączeniem, niejako, biblioteki boost albo samego frameworku do testowania. Co mam wpisać w skrypcie CMakeLists.txt? Powiedzmy, że mam jedną klasę Example z jakąś metodą dodaj. Gdzie w takim wypadku piszę testy jednostkowe? W funkcji main, czy tworzę osobny plik np. unit_tests.cpp (i jak potem uruchomić te testy)?
P-163189
DejaVu
» 2017-07-11 12:44:57
Ja bym Ci proponował użycie biblioteki GTest.

Co do organizacji testów to:
1. Utwórz sobie osobny projekt
2. Utwórz w nim plik main.cpp
3. Utwórz osobny plik cośtam.cpp na każdy test (a przynajmniej na zbiór testów określonej funkcjonalności).

Swego czasu w testach tworzyłem pliki header/source, ale ostatecznie wycofałem się z tego, ponieważ znacznie wygodniej jest utworzyć jeden plik cpp i w nim zdefiniować test. Prościej, czytelniej, mniej kodu, łatwiej znaleźć testy bo 2 razy mniej plików jest.
P-163193
marc_xxx
Temat założony przez niniejszego użytkownika
» 2017-07-11 14:46:55
Dobra, zainstalowałem sobie tego GTest'a i liczę, że projekt nie będzie mi się budował 2 minuty, tak jak to miało miejsce w przypadku boosta :D Ale jeszcze nie ogarniam tego cmake'a. Podpowiedz mi, co muszę wpisać do pliku CMakeLists.txt aby dodać tą bibliotekę to projektu.
P-163194
DejaVu
» 2017-07-11 17:37:38
GTest jest lekki - w kilka sekund powinno się spokojnie skompilować.

A co do kompilacji to jedyne co trzeba zrobić to dodać linijkę do linkera (jeżeli masz już zainstalowaną bibliotekę i headery są widoczne z poziomu Twojego projektu).

https://stackoverflow.com​/questions/13513905​/how-to-setup-googletest-as-a-shared-library-on-linux

gTestframework is now ready to use. Just don't forget to link your project against the library by setting -lgtest as linker flag and optionally, if you did not write your own test mainroutine, the explicit -lgtest_main flag.
P-163196
« 1 »
  Strona 1 z 1