vak: (Default)
[personal profile] vak
Из нескольких пакетов для тестирования Googletest, несомненно, самый устаканенный и популярный. Он дружит с отладчиком, лучше интегрируется с Bitbucket Pipelines (выдаёт результаты в формате XML), проще расширяется при необходимости. Многие серьёзные фирмы используют Googletest при разработке своих продуктов. Строго говоря, если вы профессиональный программист, стоит включить Googletest в первоочередной список рабочих инструментов (и в резюме).

В предыдущем посте я давал примеры для Catch, а вот то же самое вычисление чисел Фибоначчи, переделанное на Googletest:
Результаты автоматического тестирования после каждого коммита можно посмотреть на вкладке Actions (на Гитхабе) или Pipelines (на Битбакете).

Если вы собираетесь начать разрабатывать программу на Си++ - используйте один из этих примеров как заготовку, с которой можно стартовать. Клонируйте к себе и вперёд. Лицензионных ограничений нет.

Date: 2020-08-05 10:37 (UTC)
fenikso: (Default)
From: [personal profile] fenikso
Nit: если назвать тест "demo_test.cpp", то он будет сортироваться рядом с .cpp и .h

Date: 2020-08-05 10:48 (UTC)
From: [personal profile] sergegers
Ещё есть boost.test, если boost уже используется в проекте, то лучше его.

Date: 2020-08-05 17:14 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Ой, я когда-то работал с этим! (Только в резюме втыкать не буду.)

Date: 2020-08-05 20:34 (UTC)
From: [personal profile] sergegers
С другой стороны, 3/4 нового c++ вышло из буста.

Date: 2020-08-05 21:27 (UTC)
From: [personal profile] sergegers
Это да. Реально, все эти библиотеки поросли макросами, как плесенью, прорыв будет в 2023, если примут static introspection.

Date: 2020-08-05 22:03 (UTC)
From: [personal profile] sergegers
На Go нет. А на Rust может быть. Вообще, C++ killers было много. Но сейчас, может быть, Rust обоснуется в web development. Кадры там есть, а приличного языка - нет. А уж потом начнёт сжирать драйвера итд. С другой стороны, если плюсы примут epoch и ускорят компиляцию в 10 раз, атака может быть отбита.