Russian Qt Forum
Ноябрь 24, 2024, 09:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
QtCreator сборка для тестирования
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QtCreator сборка для тестирования (Прочитано 9713 раз)
deMax
Хакер
Offline
Сообщений: 600
QtCreator сборка для тестирования
«
:
Февраль 11, 2014, 14:18 »
Как сделать отдельную сборку для тестирования? Т.е. как передать флаг тестирования #DEFINE TEST из настроек сборки в код.
Собираюсь писать проект с использованием TDD, и есть желание чтобы тесты запускались в отдельной сборке, в отдельной сборке отладка, в отдельной сборке релиз - чистая версия с удаленными через ifdef тестами.
Записан
Swa
Самовар
Offline
Сообщений: 170
Re: QtCreator сборка для тестирования
«
Ответ #1 :
Февраль 11, 2014, 14:47 »
В QtCreator на вкладке Projects создаёте сборку Test, далее в
Build Steps -> Additional arguments
добавляете
Код:
"DEFINES+=TEST"
. В коде ставите условия
Код:
#ifdef TEST
...
#endif
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: QtCreator сборка для тестирования
«
Ответ #2 :
Февраль 12, 2014, 07:59 »
Swa
, спасибо.
А если в папке с проектом создать папку test и внутри создать проект с тестами, можно ли будет вместо pri файла подсунуть pro файл? Как правильнее? Кто нибудь писал на Qt используя TDD?
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: QtCreator сборка для тестирования
«
Ответ #3 :
Февраль 13, 2014, 11:37 »
А в файле pro как закомментировать папку с тестами? Или не нужно, так как если в main.c закоментированн include, то тесты в проект не попадут?
Записан
qate
Супер
Offline
Сообщений: 1177
Re: QtCreator сборка для тестирования
«
Ответ #4 :
Февраль 17, 2014, 16:01 »
> в отдельной сборке релиз - чистая версия с удаленными через ifdef тестами.
и вдруг повалили баги ...
считаю что всегда следует работать с релизом
Записан
OKTA
Гость
Re: QtCreator сборка для тестирования
«
Ответ #5 :
Февраль 17, 2014, 16:53 »
Цитата: qate от Февраль 17, 2014, 16:01
> в отдельной сборке релиз - чистая версия с удаленными через ifdef тестами.
и вдруг повалили баги ...
считаю что всегда следует работать с релизом
А дебажить как?
Записан
b-s-a
Гость
Re: QtCreator сборка для тестирования
«
Ответ #6 :
Февраль 18, 2014, 11:12 »
Никто не мешает добавить отладочную информацию в релизную сборку. Или сделать свою "релизную с дебажной информацией" (как в CMake: RelWithDebInfo). Но отлаживаться в этом режиме сущий ад - курсор скачет хаотично, а добрая половина переменных "соптимизирована".
Записан
qate
Супер
Offline
Сообщений: 1177
Re: QtCreator сборка для тестирования
«
Ответ #7 :
Февраль 19, 2014, 12:22 »
Цитата: OKTA от Февраль 17, 2014, 16:53
А дебажить как?
логами (которые пойдут и в релиз т.к. все ошибки на месте не исправить, а лог с места работы программы очень полезен всегда)
Записан
OKTA
Гость
Re: QtCreator сборка для тестирования
«
Ответ #8 :
Февраль 20, 2014, 12:18 »
Цитата: qate от Февраль 19, 2014, 12:22
Цитата: OKTA от Февраль 17, 2014, 16:53
А дебажить как?
логами (которые пойдут и в релиз т.к. все ошибки на месте не исправить, а лог с места работы программы очень полезен всегда)
Поверьте, нормальный дебаггинг ускоряет поиск багов в несколько раз, а чтобы искать по логам, придется делать крайне расширенный лог иначе потратите миллион лет на точную локализацию проблемы.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: QtCreator сборка для тестирования
«
Ответ #9 :
Февраль 21, 2014, 07:55 »
Цитата: OKTA от Февраль 20, 2014, 12:18
Поверьте, нормальный дебаггинг ускоряет поиск багов в несколько раз, а чтобы искать по логам, придется делать крайне расширенный лог иначе потратите миллион лет на точную локализацию проблемы.
Не поверю.
Существует множество ситуаций, когда отладчик использовать невозможно, одна из них (и самая важная) - это работа программы на месте эксплуатации (в реальном железе). Или сетевое взаимодействие (когда остановиться невозможно) и т.д.
Записан
OKTA
Гость
Re: QtCreator сборка для тестирования
«
Ответ #10 :
Февраль 21, 2014, 09:13 »
Дебажить самые страшные баги нужно еще до работы на реальном железе иначе это не разработка программы, а нервный выкидыш
.
И почему это нельзя остановить, когда идет работа с сетью?
Записан
qate
Супер
Offline
Сообщений: 1177
Re: QtCreator сборка для тестирования
«
Ответ #11 :
Февраль 21, 2014, 10:15 »
Цитата: OKTA от Февраль 21, 2014, 09:13
Дебажить самые страшные баги нужно еще до работы на реальном железе иначе это не разработка программы, а нервный выкидыш
.
И почему это нельзя остановить, когда идет работа с сетью?
Часть багов конечно до релиза отлаживаются, но не все т.к. не учесть всех внешних факторов при разработке, которые будут в реальности
С сетью может быть простой баг по разным таймаутам, порядку обмена - лог это показывает сразу
Считаю, что выпускать программу без возможность лога - глупо (а раз есть лог, то отладчик не нужен)
Записан
b-s-a
Гость
Re: QtCreator сборка для тестирования
«
Ответ #12 :
Февраль 21, 2014, 16:29 »
Лог и отладчик это разные вещи. Попробуй по логам крах обнаружь. А отладчик тебе курсор на строчку поставит и бэктрейс покажет.
Записан
lesav
Частый гость
Offline
Сообщений: 235
qnx.org.ru
Re: QtCreator сборка для тестирования
«
Ответ #13 :
Февраль 21, 2014, 19:10 »
Цитата: b-s-a от Февраль 21, 2014, 16:29
Попробуй по логам крах обнаружь. А отладчик тебе курсор на строчку поставит и бэктрейс покажет.
Можно писать программы и без крахов. Все зависит от опыта программиста.
У меня был один проект(программно технический комплекс на
QNX
), в котором я совсем не использовал дебаггер, и чувствовал себя комфортно.
Компилил в Windows, затем POST_LINKом по sftp заливал на таргет и запускал в терминале по ssh.
И таки да, крах можно вычислить с помощью стандартного вывода, только немного сложнее чем в дебагере.
Расширенный лог тоже оч полезная штука, главное что-бы его можно было вкл/откл.
Записан
http://qnx.org.ru/
b-s-a
Гость
Re: QtCreator сборка для тестирования
«
Ответ #14 :
Февраль 21, 2014, 22:38 »
Если для тебя и твоего начальства время != деньги, то можно и не использовать отладчик.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...