I wrote this test unittest framework for Arduino, since i could not find proper existing. While i did not write it for CI, it would be good fit for CI job, since it requires no hardware but can be ran on PC.
Running the CI jobs without the hardware has good sides and bad sides, good sides beeing that
- No flashing, no hardware needed -> can be runned in parallel -> fast to check for example for every commit
- No hardware issues influencing the tests -> no need to worry did this test just fail because my XYZ-hardware component is not stable
On the downside there is:
- Its not testing the actual target code, for example your 'int' is 32 bits in your PC and 16bits in AVR.