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