Я хочу написать модульные тесты, используя Google Test / Mock для кода в моей DLL. Тестовый код должен быть скомпилирован в мою DLL.
Я прочитал в Google Test Primer, что это возможно, но тогда gtest нужно скомпилировать в DLL (и я думаю, то же самое относится и к gmock).
Кто-нибудь скомпилировал и использовал фреймворк как DLL и может рассказать мне о наиболее важных настройках проекта (я использую VS2010) и как использовать полученные DLL для запуска тестов?
GoogleTest и GoogleMock не нужно компилировать в .длл.
Скорее это говорит о том, что они должны быть скомпилированы с тем же Runtime Library
установка в качестве проекта, потребляющего (связывающего) их (/MD
или же /MT
). Настройки библиотеки времени выполнения
Последовательность является ключом! При связывании любой библиотеки (LIB или DLL) они должны иметь одинаковые Runtime Library
установка в качестве проекта (или наоборот).
Я также рекомендовал бы использовать тот же Character Set
установка.
Установите флаг препроцессора (свойства-> c / c ++ -> Preprocessor-> Определения препроцессора) GTEST_CREATE_SHARED_LIBRARY для сборки Gmock как dll и сборки dll, которая использует gmock с GTEST_LINKED_AS_SHARED_LIBRARY