Я хотел бы написать модульные тесты для моего встроенного прикладного программного обеспечения, используя Google Tests.
Эти тесты будут выполняться на прикладном программном обеспечении, написанном на C ++. Драйверы, используемые прикладным программным обеспечением (например, I2C
, SPI
), утверждение о неисправности записано в C. Мои вопросы будут:
- Что было бы хорошим началом? Я имею в виду ресурсы, которые я мог бы прочитать, чтобы узнать больше об использовании Google Test во встроенной среде.
- Как мне go насмехаться над моими файлами драйверов? Например, если у меня есть функция
void read(uint8_t address)
в моей библиотеке I2 C, как мне go насчет насмешки над этой функцией, чтобы эта конкретная функция вызывалась в моем классе C ++? - Эти файлы драйверов, записанные в C, также включены в мои файлы C ++. Я попытался скомпилировать пустой тестовый файл, включая только мой заголовок класса C ++, и у меня были проблемы с компиляцией, так как компилятор не мог найти заголовок драйвера. Как можно избежать этой проблемы?
- Управление ошибочными утверждениями с помощью кода - Неудачные утверждения в моей библиотеке драйверов, требующие сброса системы. Как я могу подражать этому в тестах?