Проект модульного тестирования QTestlib для доступа к классам в основном проекте в QTCreator - PullRequest
5 голосов
/ 05 июня 2011

Я использую QT Creator и хочу запустить мои модульные тесты в отдельном проекте. Как мне сослаться на классы в основном проекте из моего тестового проекта?

1 Ответ

2 голосов
/ 17 июля 2013

Я понимаю, что это старый вопрос, но вот несколько шагов, чтобы сделать это легко:

  • Переместите большую часть вашей конфигурации из файла main_project.pro в файл main_project.pri.
  • Используйте относительные пути относительно ваших файлов * .pri или * .pro, используя синтаксис $$PWD/path/to/file, где $$PWD - это ваше * .pri или * .pro расположение файла.
  • Включить *.pri файл, используя include($$PWD/main_project.pri)
  • Создайте проект test в папке main_project.
  • В test/test.pro добавьте строку include($$PWD/../main_project.pri), чтобы импортировать соответствующую конфигурацию из вашего main_project.

Я могу добавить больше деталей, если есть интерес.

После того, как базовая настройка сработает, это очень удобно, поскольку вы можете создать отдельный проект для каждого модуля, который вы хотите проверить, плюс глобальный test_suite, который запускает все остальные тесты. Если вы обнаружите, что многие тестовые проекты имеют общую конфигурацию, вы можете создать отдельный файл common.pri в test/common для включения во все ваши тестовые проекты.

Как только все будет готово, довольно просто сгенерировать небольшой скрипт для автоматического создания тестового проекта, когда для тестирования нового модуля получается достаточно эффективный процесс тестирования ...

...