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

Различные методы тестирование в языке c++

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

Бенчмаркинг производительности кода с 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 для проверки факта и параметров испускания сигналов без необходимости вручную подключать слот-наблюдатель и хранить состояние. В предыдущей статье он упоминался для базовой…

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

Мокирование зависимостей в Qt-тестах: подходы и инструменты

Введение Юнит-тест должен проверять конкретную единицу логики в изоляции, но реальный код часто зависит от других объектов — сетевых клиентов, баз данных, файловой системы. Подмена таких зависимостей «заглушками»…

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

QTest: пишем первый юнит-тест для Qt-класса с нуля

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

QML

Инструменты qmlscene, QML Profiler и консоль отладки

Введение: Зачем нужна комплексная отладка QML-приложений QML (Qt Modeling Language) представляет собой уникальный синтез декларативного и императивного программирования, что создает специфические вызовы для отладки. В отличие от традиционных…

обновлено