LINUX.ORG.RU

Unit-тестирование

 ,


0

1

Расскажите, кто-то вообще пишет Unit-тесты для приложений, написанных на C++? Какие инструменты используете? Чем руководствуетесь, когда пишите тесты? Реально ли Unit-тестирование помогает выявлять баги и держать в чистоте кодовую базу? Стоит ли писать тесты, если основной функционал приложения это чтение данных из БД и выполнение хранимых процедур?

Deleted

Стоит ли писать тесты, если основной функционал приложения это чтение данных из БД и выполнение хранимых процедур?

Конечно стоит. На хранимки.

По поводу остального: да, gtest+gmock, здравым смыслом и TDD, да, на самом деле всё равно да, просто их будет мало.

Ну и это... Писать на плюсах

основной функционал приложения это чтение данных из БД и выполнение

смысла нет же.

pon4ik ★★★★★
()
Последнее исправление: pon4ik (всего исправлений: 1)

кто-то вообще пишет Unit-тесты для приложений, написанных на C++?

Да. Но не для приложений целиком, а для частей приложения (обычно библиотек, из которых приложение собирается).

Какие инструменты используете?

Catch2 или doctest (doctest шустрее в сборке).

Чем руководствуетесь, когда пишите тесты?

Во-первых, здравым смыслом и опытом.

Во-вторых, если обнаруживается ошибка, то при ее исправлении добавляется, как минимум, еще один unit-тест для проверки ее отсутствия (или обновляются тест-кейсы в уже имеющихся unit-тестах).

Реально ли Unit-тестирование помогает выявлять баги

Да. Особенно когда кодовая база стареет, но ее приходится сопровождать.

держать в чистоте кодовую базу?

Это вообще не при чем.

eao197 ★★★★★
()
Ответ на: комментарий от pon4ik

Конечно стоит. На хранимки.

Я возможно задам глупый вопрос, но есть ли какой-то способ проведения Unit-тестирования SQL кода?

Deleted
()
Ответ на: комментарий от Deleted

Хз, сиквел крайний раз лет 10 назад хоть как-то серьёзно трогал. Думаю, на plqsq должны быть какие-то фреймворки для тестирования. Раз есть функции, значит их можно тестировать.

pon4ik ★★★★★
()

Да. Следующий.

anonymous
()

Беру и пишу. Взял бы catch, но он раздутое говно, судя всего с UB ибо видел как тесты на нём падали в зависимости от строчки в других тестах, поэтому своя библиотечка на 2 страницы кода. Запускаются через ctest, покрытие строится в travis и засылается в coveralls. Даже не знаю что тут можно добавить или улучшить.

Стоит ли писать тесты, если основной функционал приложения это чтение данных из БД и выполнение хранимых процедур?

Если хранимки immutable то не вижу проблем - пишите sql сценарий с кейсами и запускайте. Что там с покрытием и красивым выводом не знаю, надо гуглить. Иначе наверное только интеграционные.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.