Лучший подход к макету библиотеки hiredis в C
Я пишу проект, который использует преимущества клиентской библиотеки hiredis redis.
Каков наилучший способ макетировать эту библиотеку для использования при написании тестов?
Например, я хотел бы иметь возможность писать тесты, которые проверяют определенное поведение, когда redis больше не доступен, или когда в нем есть определенный набор данных, что мое приложение ведет себя правильно.
Мысль о том, чтобы попытаться запрограммировать все это на запуск / выключение различных экземпляров redis, которые может использовать тестовый код, кажется утомительной и не очень элегантной.
Я немного посмотрел на cmock, но это кажется очень сложным, но, может быть, это стандарт?
Спасибо за любой свет, который может пролить любой ~
1 ответ
Я бы сказал, что это относится к категории "интеграционное тестирование", поскольку оно действительно проверяет, как ваше приложение интегрируется с Redis. Если вы выполняете правильные модульные тесты, они все равно не должны касаться redis, и ваш код для взаимодействия с redis должен быть хорошо отделен от важных проверяемых элементов.
Так что я бы сказал: "Укуси пулю и автоматизируй сервер Redis".