Interrupt

Embedded C/C++ Unit Testing Basics | Interrupt

Complex embedded projects have thousands and frequently tens of thousands lines of code. The majority of that code is entirely software (rather than “firmware”), and software in every industry is typically unit tested. However, in the embedded and firmware industry, unit testing is typically an after-thought or a task that is begun after working on a project for months or even years.


This is a companion discussion topic for the original entry at https://interrupt.memfault.com/blog/unit-testing-basics

Nice blog post, Tyler! One C unit test framework I enjoyed using at Vaunt which addresses the issue you mentioned of state leaking from one unit test to the next is Criterion (https://github.com/Snaipe/Criterion). It seamlessly runs each unit test in a separate process to help isolate them from each other, and it also supports pure C tests so no need for wrapping includes in externs. :grinning: