структура проекта googletest в Linux - PullRequest
0 голосов
/ 22 сентября 2018

Является ли хорошей идеей хранить исходный код googletest (скажем, googletest-release-1.8.1.tar.gz) как часть проекта C ++ и создавать его каждый раз, когда вызывается цель test?

Мой дистрибутив Linuxимеет как gtest, так и gmock, но не во всех дистрибутивах они есть.Более того, в настоящее время как gtest, так и gmock находятся под зонтиком репо https://github.com/google/googletest, и поэтому я не уверен, как будут выглядеть gtest и gmock в будущем.Наличие googletest исходного кода как части проекта, вероятно, решило бы мои проблемы.Но я не уверен, соответствует ли он лучшим рекомендациям C ++.Я не смог найти никаких рекомендуемых способов сделать это в Linux.

1 Ответ

0 голосов
/ 23 сентября 2018

Создание googletest в качестве предварительного условия для вашей цели тестирования является обычной практикой.Для проектов, управляемых CMake, Googletest документирует , как включить в существующий проект CMake .Для проектов, управляемых автоинструментами, Как я могу использовать Google Test с моим проектом, который создается с помощью автоинструментов? имеет хорошо продуманное решение для SO.

Создание googletest в качестве обязательного условия для набора тестов проектагарантирует, что код googletest, с помощью которого нижестоящий пользователь вашего проекта создает и запускает ваши тесты, совпадает с кодом, который вы создали и выполнили в апстриме.Это гарантирует, что googletest будет построен с теми же параметрами компиляции и связывания, что и тестируемый код.

Эти преимущества достигаются за приемлемую цену, поскольку Googletest является дешевой целью сборки, единственными зависимостями которой являются набор инструментов C ++ и pthreads (и даже pthreads не является обязательным).

...