Найти в Дзене
Знакомство с библиотекой Google Test
Google Test(gtest) является одной из популярных библиотек модульного тестирования. Тесты не требуется отдельно регистрировать для запуска. Каждый объявленный в программе тест автоматически будет запущен. Тесты можно объединять в группы (наборы). Кроме того, gtest позволяет использовать тестовые классы/фикстуры (test fixture). С их помощью можно создавать и повторно использовать конфигурацию объектов для нескольких различных тестов. Пусть нужно протестировать отдельную функцию с сигнатурой int Fibonacci(int n), осуществляющую расчет n-го числа Фибоначчи...
5 дней назад
Тестируем код c Google Test, используя паттерн ААА, на основе классов эквивалентности
При тестирования кода перед разработчиком сразу возникает два вопроса: Ответы на них необходимо искать с использованием классов эквивалентности. Классы эквивалентности — это техника проектирования тестов, при которой входные данные разбиваются на группы (классы), внутри которых программа должна вести себя одинаково. Поэтому достаточно протестировать один представитель из каждого класса, вместо проверки всех возможных значений. Эта техника называется Equivalence Partitioning и используется в модульных, интеграционных и функциональных тестах...
2 недели назад
Здравствуйте, уважаемые читатели! Написал очередную статью на Хабре, посвященную обработке событий при помощи epoll и сопрограмм на С++ для ОС Linux. Кого интересует данная тема прошу ознакомиться. Возникшие вопросы можно задавать в комментариях.
3 месяца назад
Здравствуйте, уважаемые читатели! Начал писать статьи для Хабра. На данный момент опубликовал первую и вторую статью по написанию корутин на языке Си. Кого интересует данная тема прошу ознакомиться. Возникшие вопросы можно задавать в комментариях.
4 месяца назад
CMake от начинающего до опытного. Часть 7 - Автоматизируем выявление ошибок в программе при помощи Valgrind.
Иногда после внесения изменений в исходный код и запуска программы появляются странные ошибки. Например, программа зависает, не реагируя на действия пользователя, и аварийно завершается(падает). Либо зависания не происходит, но программа падает. Иногда даже анализ логов не добавляет ясности, так как падение происходит в том месте исходного кода, которое не вызывает подозрений (по крайней мере на первый взгляд). Некоторые ошибки можно выявить при прогоне тестов. Но они не всегда помогают. Теоретически...
11 месяцев назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала