Тестирование, используя Qt (как правильно писать юнит-тесты, используя QTestLib)

Модератор: Модераторы разделов

Аватара пользователя
pluton8
Сообщения: 108
ОС: Arch GNU/Linux

Тестирование, используя Qt

Сообщение pluton8 »

Привет всем.
Пишу некоторую программку для шифрования на C++ и использую Qt4 (IDE: Qt Creator). В ней необходимо использовать тесты для проверки правильности выполнения функций. Подскажите, пожалуйста, как правильно организовать юнит-тестирование, используя QTestLib?
Как я делаю сейчас: создал в папке проекта подпапку unittests, там создал unittests.pro и main.cpp, в котором подключается заголовочный файл из верхней директории, создаётся класс, и вызывается QTEST_MAIN (в общем, как написано в QTestLib Tutorial). В Qt Creator главный проект -- unittests, он зависит от верхнего и запускается после компиляции.
Но тут есть несколько проблем:
  • Как тестировать закрытые методы класса? Сейчас их приходится делать открытыми. Можно их протестировать, потом скрыть, но тогда придётся тесты тоже убирать. Значит, тесты нужно внедрить в сам класс? Тогда как их вызывать?
  • Как компилировать и запускать тесты автоматически перед запуском основной программы? Может быть, для этого надо прикрутить cmake?

Если надо, выложу код проекта.

Заранее большое спасибо.
THE TRUTH IS OUT THERE
Linux Registered User #450136
Спасибо сказали: