Running automated unit tests on an Arduino library using Travis CI

Well I think one reason developers don't like writing documentation is because, even though they're sharing it, the code is primarily written for themselves and they think (albeit wrongly) of documentation as being an extra task solely for the benefit of other users. However, as a user of the code, there is an obvious direct benefit of having it be thoroughly and efficiently tested.

Automated testing also makes writing code much more enjoyable because you get to do just the fun, creative part that humans are best at and leave all the boring stuff that machines are best at to the computer.

The problem is there is this steep learning curve. In the time you spend initially getting a testing system set up you could have just manually done the tests several times over. Of course making the effort will pay off many times over in time but people often don't think about things that way. In fact that's how I've been with unit testing. I've been thinking about it a lot lately but there hasn't been a clear path to actually getting going with it. Maybe arduino_ci will help me finally get there.

I've been working on making it easier to do continuous integration compilation tests of Arduino projects with the hopes that if that initial barrier is lowered then more people will start doing it. So far I don't think I've made any difference but I'll keep working at it.