Running automated unit tests on an Arduino library using Travis CI

pert:
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.

I don't reckon I do enough Arduino programming to get the pay-off that you describe.

Setting up the tests is a considerable chore when you start a new project, even if you are familiar with how to do it.

I suspect the problem that will bite you in the ass is the one that you never thought of building a test for.

So much of a microprocessor program depends on the physical world outside which cannot be tested using software. And building another microprocessor to simulate the real world is fraught with difficulties, even if there was time to do so.

You have not said if unit testing could allow someone to verify code for hardware they don't have. If that were possible I could see a lot of value.

In theory I can see a lot of value in test-driven-development - building the test before you write the code. In practice I am lazy.

I can certainly see the value of automated testing for a project that involves several programmers because it should eliminate the risk that programmerA inadvertantly breaks programmerB's code. But in that case you would build into the budget the cost of building the test system.

...R