Тестирование

Тестирование кода на C++ и Qt: QTest, Google Test, Catch2, Boost.Test, модульные тесты, моки и интеграция тестов в сборку. Практические примеры — как начать тестировать существующий проект и не бросить.

Тестирование

QTemporaryDir в автотестах: изолируем файловые сценарии

Зачем тесту временный каталогТест, который пишет в постоянный каталог пользователя, зависит от состояния машины и может повредить реальные данные. QTemporaryDir создаёт отдельный временный каталог и удаляет его при…

Тестирование

Бенчмаркинг производительности кода с QBENCHMARK и Google Benchmark

Введение Помимо корректности, для многих частей кода важна производительность — особенно горячих путей выполнения (циклы обработки данных, парсеры, алгоритмы сортировки). Замерять производительность «на глаз» через однократный запуск с…

Тестирование

Property-based тестирование в C++: RapidCheck и его применение

Введение Традиционные юнит-тесты проверяют конкретные, заранее придуманные примеры входных данных («при a=2, b=3 ожидаем 5»). Property-based тестирование переворачивает подход: вместо конкретных примеров формулируется общее свойство, которое должно выполняться…

QML

Тестирование QML-кода: Qt Quick Test на практике

Введение Логика, написанная непосредственно в QML и JavaScript (привязки свойств, обработчики событий, кастомные компоненты), нуждается в тестировании не меньше, чем код на C++, но QTest напрямую не предназначен…

Тестирование

Тестирование сигналов и слотов с помощью QSignalSpy: продвинутые сценарии

Введение QSignalSpy — специализированный инструмент QTest для проверки факта и параметров испускания сигналов без необходимости вручную подключать слот-наблюдатель и хранить состояние. В предыдущей статье он упоминался для базовой…