Настройка Google Test Project для библиотеки DLL

У меня есть плагин DLL, который я хотел бы протестировать и запустить на TeamCity: он содержит файлы .h и .cpp
Какова правильная стратегия для тестирования этой DLL:

1. Create a new Test Project in the same solution, configure 'include directory' to see sources and copy DLL project files to Test console project. In this case i have the same solution but in console mode, which i can test in normal way. But if my DLL project will change i need to synchronize source files.
2. Create export function in my DLL, like 'runTests()' which will produce XML file with results. TeamCity will process this? And how should it run this? And some stuff function appears in release DLL...

0

Решение

Для модульного тестирования наших библиотек мы создаем автономные исполняемые файлы консоли модульного тестирования. так:

  1. Для каждой библиотеки мы создаем исполняемый файл консоли, тестирующий каждый метод в API.
  2. Каждый исходный файл, очевидно, добавляется в SCM, поэтому изменяемые файлы автоматически отражаются в программе модульного тестирования;
  3. Все это (обновления исходного кода, компиляция, модульное тестирование и генерация документов) добавляется на наш CI-сервер (Jenkins), так что все библиотеки для всех программ модульного тестирования всегда перекомпилируются с нуля;
  4. Документация по API библиотеки создается с помощью Doxygen с использованием фрагмента этой программы. Это имеет хороший побочный эффект: изменение API сломает ваши юнит-тесты. Поэтому вы должны исправить свои юнит-тесты, чтобы ваша документация всегда была актуальной.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]