Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2016, 12:13   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Все не надо. Надо только то, что тестите и зависимые.

Цитата:
А что делать если названия файлов из разных проектов совпадут или такого быть не должно?
Теоретически можно через отдельные папки разнести.. Только если у вас в солюшене в нескольких проектах есть файлы с одинаковыми именами и делаю разное, то это как-то не так идеологически.
p51x вне форума Ответить с цитированием
Старый 26.05.2016, 13:00   #12
mns_14
 
Регистрация: 26.05.2016
Сообщений: 6
По умолчанию

Спасибо буду пробовать.
Цитата:
Сообщение от p51x Посмотреть сообщение
Теоретически можно через отдельные папки разнести.. Только если у вас в солюшене в нескольких проектах есть файлы с одинаковыми именами и делаю разное, то это как-то не так идеологически.
Да меня это тоже смущает. Буду следовать верной идеологии - имя файла уникально для всех проектов в солюшене.
mns_14 вне форума Ответить с цитированием
Старый 26.05.2016, 13:07   #13
mns_14
 
Регистрация: 26.05.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Зачем всю? В каком смысле всю? Вы ж и ехе так же компилируете.
Ну, например, в большом проекте, который компилируется очень долго мне нужно исправить одну маленькую функцию и убедиться, что тест она пройдёт верно. Или не одну, а десяток таких функций, причём до исправления их всех собирать всё смысла не имеет.
А если использовать такое тестирование через компиляцию всего проекта, то процесс явно затянется, т.к. после каждого исправления придётся пересобирать всю библиотеку, а не маленький кусочек касающийся исправляемой функции.
mns_14 вне форума Ответить с цитированием
Старый 29.05.2016, 10:42   #14
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от mns_14 Посмотреть сообщение
Допустим у меня есть Solution и в нём много проектов.
архитектура следующая:

1. первый проект.
вся бизнес-логика вашего приложения выносится
с отдельную библиотеку.

2. второй проект.
проект вашего приложения линкуется
с вашей библиотекой

3. третий проект.
отдельно оформляется проект юнит-тестов.
он линкуется с gtest, и с вашей бизнес-логикой.

далее, вы вручную можете собирать проект тестов,
и прогонять тесты.

ещё используют автоматический сервер сборки.
который автоматом запускает сборку тестируемой библиотеки,
и прогонять её по всем тестам.
(например, каждую ночь)
если что-то не так - сформирует рапорт о проваленных тестах.

важно:
тестируемый код нужно выносить в отдельную библиотеку.
которая в последствии может линковаться с тестируемым приложением.
перед сборкой тестируемого приложения,
тестируемую библиотеку необходимо пересобрать.
_Bers вне форума Ответить с цитированием
Старый 29.05.2016, 11:12   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну я вроде это и предлагал автору, ему почему-то не понравилось
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.05.2016, 12:03   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Что важно в выносе кода в библиотеку? Особенно, если у автора один exe?
p51x вне форума Ответить с цитированием
Старый 29.05.2016, 13:11   #17
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Что важно в выносе кода в библиотеку? Особенно, если у автора один exe?
автору нужно понять, что если он хочет грамотную поддержку
юнит-тестов, то ему больше не нужен один exe

код, который он хочет покрыть тестами по уму
должен жить в отдельной библиотеке.

и вот эту готовую библиотеку
он будет линковать как с тестирующим проектом,
так и с итоговым боевым.

пример:

1.
библиотека-бизнес-логики.lib
содержит наш код, который мы хотим протестировать.

2
приложение Игра.exe
линкуется с уже протестированной библиотекой
библиотека-бизнес-логики.lib

своего кода практически не содержит.
все делается руками уже протестированной библиотеки.

3.
приложение юнит-тесты.exe
линкуется с библиотекой
библиотека-бизнес-логики.lib

и содержит исходный код тестов,
для её тестирования.

------------------------------------------------------------------------
в таком виде очень удобно работать как с большими,
так и с мелкими проектами.

подключать исходный код одного проекта,
в состав исходников другого проекта - печальная практика.

это как минимум это не удобно.
потому что придется отслеживать изменения исходных файлов
по всем тем проектам, в которых они фигурируют.
_Bers вне форума Ответить с цитированием
Старый 29.05.2016, 13:32   #18
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Через чур усложнять проект и его поддержку только ради пары тестов это круто
p51x вне форума Ответить с цитированием
Старый 29.05.2016, 13:43   #19
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Через чур усложнять проект и его поддержку только ради пары тестов это круто
фраза содержит противоречие здравому смыслу,
поскольку противоречит самой идее
существования юнит-тестов.

юнит-тесты, и вообще TDD подход призваны
как раз таки для упрощения проекта.
удешевления разработки и сопровождения.

однако, важно понимать:
либо вы смотрите на вещи сквозь призму TDD,
либо вы вообще не связываетесь с тестированием.
с таким отношением, как оно у вас сейчас,
это - бесполезная трата ресурсов.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual studio 2013 MarineKing Фриланс 0 28.05.2015 16:26
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 1 15.11.2014 21:07
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 10 15.11.2014 20:02
C++ visual studio 2013 mystafa23 Общие вопросы C/C++ 3 20.10.2014 07:16
Интерфейс приложений в стиле Office 2013, Visual Studio 2012/2013, Adobe CC nnmserg WPF, UWP, WinRT, XAML 2 12.09.2014 12:41