Как использовать gmock с xcode?

Я хочу использовать gmock (Google Mock) в качестве издевательской среды для проекта C++ в XCode. Поэтому я должен скомпилировать gmock как gmock.framework. К сожалению, проект не поставляется с выделенным проектом XCode (в gtest есть один).

Создание проекта Framework в XCode и его сборка завершаются ошибкой с несколькими ошибками (в основном пути включения, используемые в заголовках, кажутся неправильно просматриваемыми).

Итак (и извините за общий вопрос), как скомпилировать gmock как Framework, чтобы иметь возможность использовать его в других проектах XCode?


person gorootde    schedule 18.11.2014    source источник


Ответы (2)


Мне удалось заставить GMock работать в Xcode, выполнив следующие действия:

  1. Загрузите этот репозиторий куда-нибудь на свой компьютер:

https://github.com/macmade/gmock-xcode

  1. Откройте включенный проект Xcode, создайте все цели, нажав кнопку воспроизведения, затем закройте проект.

  2. Добавьте проект GMock Xcode в свой проект Xcode в качестве подпроекта (можно перетащить файл GoogleMock.xcodeproj в браузер проекта из Finder).

  3. В цели тестирования в разделе «Фазы сборки» добавьте фреймворки GoogleMock, gmock и gtest в разделе «Целевые зависимости»:

введите здесь описание изображения

  1. Добавьте следующую строку в свои тестовые файлы, чтобы начать использовать GMock:

    #include <GoogleMock/GoogleMock.h>
    
person stephenspann    schedule 03.11.2015

Есть еще один вариант использования официального репозитория, если вышеописанное вам не подходит.

1) Загрузите официальный репозиторий с https://github.com/google/googletest.

2) Установите Cmake https://cmake.org/download/.

3) Необязательно: Создайте переменную среды с именем GMOCK_HOME, которая ссылается на этот каталог. Вот пример:

export GMOCK_HOME=/home/user/googletest/googlemock

4) Из корня вашей установки Google Mock (далее $GMOCK_HOME) сделайте следующее:

mkdir mybuild
cd mybuild
cmake ..
make

Теперь внутри папки mybuild у вас есть libgmock_main.a and libgmock.a ! Также обратите внимание, что у вас есть библиотеки gtest внутри mybuild/test, если это необходимо.

5) В XCode откройте свой собственный проект и перейдите в целевые настройки -> Фазы сборки -> Связать двоичный файл с библиотеками и добавьте библиотеки gtest и gmock. введите здесь описание изображения

6) Добавьте #include "gmock/gmock.h" в исходный файл и наслаждайтесь!

person Roman2452809    schedule 05.09.2018
comment
Это сработало для меня, мне также пришлось добавить HEADER SEARCH PATH, я скопировал папку include из репозитория googletest и добавил ее путь на вкладке Build Config. - person rusito23; 07.05.2020