c ++ / catch2: ссылочный код из отдельного тестового каталога - PullRequest
0 голосов
/ 02 октября 2018

Прежде чем пытаться выполнить какое-либо модульное тестирование, у меня был каталог вроде

mything.h
mything.cpp
mything2.h
mything2.cpp
driver.cpp  // contains main()
Makefile

Затем я бы make запустил полученный исполняемый файл;Этот исполняемый файл был создан в корневом каталоге (назовите его runme).

Теперь я пытаюсь использовать Catch2 https://github.com/catchorg/Catch2/blob/master/docs/Readme.md#top), который также говорит, что у него есть один тестовый файл с основным (у них есть определение для него).Поэтому я реорганизовал свой код как

src/
  mything.h
  mything.cpp
  mything2.h
  mything2.cpp
  driver.cpp  // contains main()
test/
  catch2.hpp // downloaded off their website in single header option
  sometest.cpp // also contains a main per catch2
Makefile

. Я сделал несколько фиктивных тестов, которые не ссылаются на мой настоящий код.Теперь я делаю make tester и ./tester, который запускает все тесты.И я могу сделать make и ./runme для запуска моего исходного приложения.

Теперь у меня вопрос: как мне на самом деле вызвать исходный код из тестового кода?Нужно ли конвертировать этот src dir в библиотеку?То есть, как тестовый код ссылается на код src в c ++, мне немного непонятно.

Для полного раскрытия я пришел из мира python / pytest, и мне интересно, как вы на самом деле структурируете код c ++ с модульным тестированием или с правильной структурой проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...