Unit tests
<<in progress>> will add tutorial in how to use ceedling/unity with stm32 on windows and linux.
I like running it under Linux with WSL. You can even access the Windows filesystem - sometimes this is required because the source code under test is already on windows - version control is on windows, IDE used only runs on windows (example: IAR) - but it's much much slower and I don't advise it. If you require the Ceedling project to access files in the Windows filesystem, I advise you to run it fully on Windows.
References
Test-Driven Development for Embedded C by James W. Grenning https://pragprog.com/titles/jgade/test-driven-development-for-embedded-c/
Throw the switch github: https://github.com/ThrowTheSwitch
Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin
Pages
Using ceedling in Linux(WSL) - Start here if you want to use Ceedling running under Linux with WSL
WSL with Visual Studio Code - Describes how to use Visual Studio Code on the windows Host with WSL
Using ceedling in windows - Start here if you want to use Ceedling running on windows