Open
Description
Ideally, educational examples should include some simple unit tests to demonstrate the requisite patterns for testing in a new environment.
This is particularly important for embedded systems since cross-compilation introduces significant testing challenges. There are several scenarios that should be demonstrated:
- Testing Swift 'business logic' on the host machine - compiling for the host and executing tests locally as part of the build.
- Testing on target hardware - cross-compiling and then launching a test suite on target hardware and collecting results.
- Testing on emulated hardware - cross-compiling and then launching a test suite on a simulator / emulator running on the host.
Consideration should be given to managing external dependencies like FreeRTOS libraries and physical hardware that may have limited emulation support.