Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
4 / 4 / 2
Регистрация: 21.05.2015
Сообщений: 44
1

Google Test и TDD

05.12.2015, 11:31. Показов 1904. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1) Гугловский фреймворк тестировать умеет только статические библиоткеи? Разве создать обычный проект нельзя, который он протестирует? Распишите, кто что знает.
2) В основном как писать код через тесты, я понял на мастер классе, зачем тдд нужен тоже. Примеры были. Но может кто-то подкинет годный материал, маст хэв, так сказать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2015, 11:31
Ответы с готовыми решениями:

Чтение структуры из файла. (Google Test)
Есть структура struct ApRegFileHead { char *rHead; unsigned int version; unsigned int...

Google test в Visual Studio 2013
Пытаюсь запустить пример sample1.cc из...

Google Test. Узнать что за исключение в ASSERT_NO_THROW
Здравствуйте! Вот интересует такой вопрос (сабж). Чтобы прямо там в логе, всмысле. А получалось...

C:\Projects\test\test.cpp|6|error: ISO C++ forbids declaration of 'operator++' with no type [-fpermissive]|
class TUID { public: char Data; TUID (); operator ++ (); };

6
59 / 46 / 11
Регистрация: 16.09.2014
Сообщений: 124
05.12.2015, 11:49 2
Цитата Сообщение от MrFluderasT Посмотреть сообщение
Гугловский фреймворк тестировать умеет только статические библиоткеи?
Он не умеет тестировать вообще, он лишь предлагает инструменты для тестирования, как вы их будете использовать это ваше дело.
Цитата Сообщение от MrFluderasT Посмотреть сообщение
Разве создать обычный проект нельзя, который он протестирует?
Что есть обычный проект?
Что есть "он протестирует" - гугл фас эту dll ?
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
05.12.2015, 12:35 3
Цитата Сообщение от MrFluderasT Посмотреть сообщение
Гугловский фреймворк тестировать умеет только статические библиоткеи? Разве создать обычный проект нельзя, который он протестирует? Распишите, кто что знает.
Чего-чего? Юнит-тестирование для исходного кода как бэ.

Цитата Сообщение от MrFluderasT Посмотреть сообщение
2) В основном как писать код через тесты, я понял на мастер классе, зачем тдд нужен тоже.
Мастер классы?)) А информации в сети недостаточно?)

Но может кто-то подкинет годный материал, маст хэв, так сказать?
А смысл подкидывать? Не поможет ничего. Берешь любой крупный проект, в котором нет юнит-тестов, покрываешь его ими. В процессе познаешь боль и соотвествующие болеутоляющие. От этого толку больше, чем от прочтения "годного материала".
1
4 / 4 / 2
Регистрация: 21.05.2015
Сообщений: 44
05.12.2015, 16:11  [ТС] 4
Да знаю я, что практика - царица науки) Но про материал спросил так, авось что есть. Бывает же иногда.
Касательно мастер класса - я был недалко от него, мне было скучно, да и был он бесплатный в учебном заведении) Так что я не потерял ничего, кроме двух часов.

А теперь по "тестированию исходного кода". Я не знаю, как именно работает любой другой фреймворк, но вот гугловский так: создаешь статическую библиотеку(надо сказать, я в студии 2015 это делаю), в этой библиотеке весь исходный код пишешь, в этот же солюшен добавляешь проект, к которому линкуешь статическую библиотеку тестируемого проекта и хедеры, помимо библиотек самого фреймворка.
Так что просто так взять и протестировать исходники, которые компилируются в экзешник нельзя. Но я не отрицаю ракования с моей стороны. Хотя вроде все что мог перепробовал.
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
05.12.2015, 16:28 5
Цитата Сообщение от MrFluderasT Посмотреть сообщение
Но про материал спросил так, авось что есть. Бывает же иногда.
Michael Feathers. Working Effectively with Legacy Code.
Jeff Langr. Modern C++ Programming With Test-Driven Development.
Обе книги есть в сети. Больше ничего не нужно. Даже Кент Бек (собственно создатель TDD) необязателен.

Цитата Сообщение от MrFluderasT Посмотреть сообщение
Но я не отрицаю ракования с моей стороны.
Я не знаю, есть ли в MSVS поддержка тестов на уровне IDE, как в CLion например. Но в любом случае, просто-напросто делаешь два бинарника. Один - само приложение. Другой - тестовый. Тестовый бинарь собирается из исходного кода тестов, которые инклюдят файлы с тестируемыми классами. В чем проблема?
0
4 / 4 / 2
Регистрация: 21.05.2015
Сообщений: 44
05.12.2015, 16:36  [ТС] 6
Цитата Сообщение от ct0r Посмотреть сообщение
которые инклюдят файлы с тестируемыми классами. В чем проблема?
Вот в этом и проблема, что просто инклюдить нужные файлы с классами нельзя, во всяком случае у меня не получилось. Этот класс нужно в библиотеку скомпилировать(или весь проект даже), а уже через библиотеку оно как-то работает. Почему так - не знаю.
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
05.12.2015, 17:29 7
Цитата Сообщение от MrFluderasT Посмотреть сообщение
Вот в этом и проблема, что просто инклюдить нужные файлы с классами нельзя, во всяком случае у меня не получилось. Этот класс нужно в библиотеку скомпилировать(или весь проект даже), а уже через библиотеку оно как-то работает. Почему так - не знаю.
Ну так тогда может сперва лучше разобраться в основах - единицах транляции, статических и динамических библиотеках, рефакторинге, а только потом в тестирование лезть? А то без фундаментальных знаний действительно тяжко - там фиг поймешь че происходит, и там тоже...
0
05.12.2015, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2015, 17:29
Помогаю со студенческими работами здесь

Разработка через тестирование (TDD) на C++ с использованием фреймворка Google Test
Привет! Надеюсь, что моя видео-инструкция кому-то пригодится: ссылка Буду рад почитать любые...

Google test не собирается
Помогите мне разобраться, пожалуйста! Качаю и распаковываю с https://github.com/google/googletest...

Nginx перенаправляет на http://site.ru/test.ru или http://test.ru/test.ru
Только, что поставил nginx + php-fpm по этой статье -...

При запуске теста Google test в Qt Creator вылетает "Sementation fault"
Прикрутил Гугл-тест к Креатору. Написал тест по мануалу. При запуске - Sementation fault в строке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru