Лучший подход к макету библиотеки hiredis в C

Я пишу проект, который использует преимущества клиентской библиотеки hiredis redis.

Каков наилучший способ макетировать эту библиотеку для использования при написании тестов?

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

Мысль о том, чтобы попытаться запрограммировать все это на запуск / выключение различных экземпляров redis, которые может использовать тестовый код, кажется утомительной и не очень элегантной.

Я немного посмотрел на cmock, но это кажется очень сложным, но, может быть, это стандарт?

Спасибо за любой свет, который может пролить любой ~

1 ответ

Решение

Я бы сказал, что это относится к категории "интеграционное тестирование", поскольку оно действительно проверяет, как ваше приложение интегрируется с Redis. Если вы выполняете правильные модульные тесты, они все равно не должны касаться redis, и ваш код для взаимодействия с redis должен быть хорошо отделен от важных проверяемых элементов.

Так что я бы сказал: "Укуси пулю и автоматизируй сервер Redis".

Другие вопросы по тегам