Russian Qt Forum
Ноябрь 26, 2024, 02:41
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Юнит тестирование с QTestLib
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Юнит тестирование с QTestLib (Прочитано 3040 раз)
lzv
Гость
Юнит тестирование с QTestLib
«
:
Апрель 18, 2013, 08:57 »
Здравствуйте.
Раньше не использовал юнит-тестирование, но решил, что это будет полезным. Начал изучать тему, но как понял, протестировать можно только простые методы, которые обрабатывают параметры и возвращают результат. И еще вроде есть некоторые возможности тестирования графического интерфейса (с этим пока не разбирался).
Но как протестировать методы, которые например, принимая параметры, делают запрос в БД (либо вызывают другие методы, которые обращаются в БД) и обработав все данные возвращают результат? Как эмулировать наличие нужных данных в БД без использования настоящей БД и соединения с ней?
Как протестировать методы, которые добавляет данные в БД, без изменения реальной БД?
Как протестировать метод paintEvent, который в зависимости от параметров рисует нужную картинку на виджете?
Особенно интересует вопрос про эмулирование данных в БД.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Юнит тестирование с QTestLib
«
Ответ #1 :
Апрель 18, 2013, 09:12 »
Вначале теста создаешь тестовую базу и ее уже юзаешь.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nagdiel
Гость
Re: Юнит тестирование с QTestLib
«
Ответ #2 :
Апрель 18, 2013, 21:58 »
Я в этом вопросе не большой специалист, но если не ошибаюсь, то проверка функционирования программы с БД на некотором наборе данных это уже не unit-testing, а интеграционное тестирование. В unit-testing для проверки взаимодействия класса (модуля) с внешним окружением используются fake- и mock-объекты - своего рода заглушки, которые позволяют проверить был ли вызван определенный метод (функция) с заданными параметрами. Насчет paintEvent - тут как раз mock можно было бы использовать, так как главное проверить, что вызваны функции отрисовки и их параметры соответсвуют заданным условиям. Рисуют же непосредственно библиотечные функции, их проверять уже не надо.
Ну а если речь все же об интеграционных тестах, тогда да - тестовую базу надо использовать.
Записан
Nagdiel
Гость
Re: Юнит тестирование с QTestLib
«
Ответ #3 :
Апрель 18, 2013, 22:43 »
И еще насчет генерации данных - может быть
эта
статья будет полезна
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...