Введение Помимо корректности, для многих частей кода важна производительность — особенно горячих путей выполнения (циклы обработки данных, парсеры, алгоритмы сортировки). Замерять производительность «на глаз» через однократный запуск с…
Введение Покрытие кода тестами (code coverage) показывает, какая доля строк/веток кода была выполнена хотя бы раз во время прогона тестового набора. Это не метрика качества тестов само по…
Введение Логика, написанная непосредственно в QML и JavaScript (привязки свойств, обработчики событий, кастомные компоненты), нуждается в тестировании не меньше, чем код на C++, но QTest напрямую не предназначен…
Введение Хотя QTest — «родной» фреймворк тестирования Qt, многие проекты используют сторонние фреймворки — Catch2 или Google Test (GTest) — даже для тестирования Qt-кода. В статье сравним три…
Введение Написанные тесты приносят пользу только если они регулярно выполняются — в идеале автоматически при каждом push и pull request. GitHub Actions — широко используемый сервис непрерывной интеграции,…
Введение QSignalSpy — специализированный инструмент QTest для проверки факта и параметров испускания сигналов без необходимости вручную подключать слот-наблюдатель и хранить состояние. В предыдущей статье он упоминался для базовой…
Введение Юнит-тест должен проверять конкретную единицу логики в изоляции, но реальный код часто зависит от других объектов — сетевых клиентов, баз данных, файловой системы. Подмена таких зависимостей «заглушками»…
Введение QTest — встроенный в Qt фреймворк для юнит-тестирования, интегрированный с системой сборки через qmake/CMake и системой сигналов/слотов. В отличие от подключения сторонних фреймворков, QTest не требует дополнительных…
Введение: Зачем нужна комплексная отладка QML-приложений QML (Qt Modeling Language) представляет собой уникальный синтез декларативного и императивного программирования, что создает специфические вызовы для отладки. В отличие от традиционных…
обновлено
Нравится qthelper.ru? 💚
Сайт живёт без пейволов и обязательной подписки. Если статьи помогают вам в работе — поддержите проект.