Как запустить Google Test (написано для тестирования кроссплатформенной библиотеки с кодом C ++) через Xcode - PullRequest
0 голосов
/ 21 июня 2019

У нас есть кроссплатформенный фреймворк C ++, и мы используем google-тесты, написанные на C ++, для тестирования кода внутри фреймворка. Эта структура используется приложениями для Android и iOS. В настоящее время эти тесты Google запускаются через Gradle. Теперь нам нужно запустить эти тесты с XCode. Может ли кто-нибудь помочь мне в этом.

Я сделал следующие вещи:

Шаг 1. Добавление Google Test в проект xCode - исходный код google test уже был частью основного исходного кода проекта в виде подмодуля git. Первое, что я сделал, это построил тестовый фреймворк Google. Для этого я создал папку сборки в базе кода «google test» и сгенерировал в ней библиотечные файлы libgtest.a и libgtest_main.a, выполнив команды «cmake» и «make».

Шаг 2. Выберите основной проект в XCode и на панели настроек проекта, задайте путь поиска заголовка для местоположения каталога, содержащего файлы заголовков теста Google, и задайте путь поиска библиотеки для местоположения каталога, содержащего файлы библиотеки libgtest. а и libgtest_main.a.

Шаг 3. В утилиту Xcode добавлен инструмент командной строки для запуска тестов из командной строки. Здесь я пытался следовать подходу «автономный исполняемый файл», который использовался в примере «интеграции с google-test xcode», приведенном в этом проекте git hub: https://github.com/mattstevens/xcode-googletest.

Шаг 4. После этого я выбрал недавно добавленную утилиту командной строки на панели настроек проекта XCode из списка целей. Теперь на этапе сборки я добавил «цель основного проекта» в качестве целевых зависимостей и добавил два файла библиотеки тестирования Google, созданные на шаге 1 в разделе «Связать двоичные файлы с библиотеками». Наконец, убедился, что все .cpp файлы, содержащие тестовые примеры C ++, добавлены в исходный код компиляции цели 'утилита командной строки'.

Затем я создал новую схему с «утилитой командной строки» в качестве цели, чтобы попытаться запустить тест. Теперь, пытаясь запустить тест, я получаю ошибки компилятора: #include "gtest / gtest.h" внутри файлов тестовых примеров. Кажется, XCode не может найти тест Google.

Может кто-нибудь проверить, правильны ли шаги, описанные выше при настройке инфраструктуры Xcode для запуска gtest, или я что-то упустил. И любые предложения относительно того, как исправить эту ошибку компилятора. Большое спасибо заранее.

Примечание: Я сослался на несколько источников в Интернете, чтобы узнать, как запустить тест Google на XCode. Руководство XCode было удалено из их URL-адреса git: "https://github.com/google/googletest/blob/master/googletest/docs/XcodeGuide.md". И, пожалуйста, найдите снимки экрана с настройками моего проекта и настройками проекта git hub для интеграции с Google Test с приложением XCode.

Настройки моего проекта

Пример настроек проекта Git Hub

...