Тестирование кода на C++ и Qt: QTest, Google Test, Catch2, Boost.Test, модульные тесты, моки и интеграция тестов в сборку. Практические примеры — как начать тестировать существующий проект и не бросить.
QTest: пишем первый юнит-тест для Qt-класса с нуля
Введение QTest — встроенный в Qt фреймворк для юнит-тестирования, интегрированный с системой сборки через qmake/CMake и системой сигналов/слотов. В отличие от подключения сторонних фреймворков, QTest не требует дополнительных…
Инструменты qmlscene, QML Profiler и консоль отладки
Введение: Зачем нужна комплексная отладка QML-приложений QML (Qt Modeling Language) представляет собой уникальный синтез декларативного и императивного программирования, что создает специфические вызовы для отладки. В отличие от традиционных…
Руководство по тестированию QML-приложений: От unit-тестов до интеграционного тестирования UI
Введение: Почему тестирование QML требует особого подхода QML (Qt Modeling Language) представляет собой уникальный гибрид декларативного и императивного программирования, что создает особые вызовы для тестирования. В отличие от…
Модульное, интеграционное и системное тестирование в C++
Тестирование — критически важная часть разработки программного обеспечения, особенно в C++, где ручное управление памятью и сложные абстракции могут приводить к трудноуловимым ошибкам. В этой статье мы рассмотрим…
Шаблон CMake-проекта с переключениями библиотеками тестирования
Этот шаблон проекта позволяет легко переключаться между различными фреймворками тестирования в C++/Qt: Структура проекта (предполагаемая) Шаблон Как собрать
Подключение популярных фреймворков тестирования к Qt-проекту
Qt поддерживает встроенное тестирование через QTest, но при разработке на C++ часто возникает необходимость использовать внешние фреймворки: Google Test, Catch2, Doctest, Boost.Test. В этой статье сравниваются и описываются…
QSignalSpy vs Mocks: Сравнение подходов к тестированию сигналов в Qt
Сравнение подходов Характеристика QSignalSpy Моки (например, Google Mock) Цель Отслеживание вызова сигналов Проверка вызова методов, поведения объектов Сфера применения Qt-ориентированные проекты (QObject) Общий C++ (без привязки к Qt)…
QSignalSpy — инструмент для тестирования сигналов в Qt
QSignalSpy — мощный класс из модуля QtTest, который используется для отслеживания сигналов во время юнит-тестирования. Он позволяет проверить, был ли сигнал отправлен, сколько раз, с какими аргументами и…