I think it's a question of field rather than philosophy - someone else in this thread said they do the same thing in avionics.
89 karma · joined November 5, 2015
I think it's a question of field rather than philosophy - someone else in this thread said they do the same thing in avionics.
* we have 100% code coverage except for some well-defined exclusions (e.g. // LCOV_EXCL_LINE comments to exclude code that is logically unhittable)
* on each checkin, our continuous integration server (Jenkins) runs the tests and checks that coverage is still 100%
* if not, it fails the build
This means that _every new checkin_ either has unit tests that exercise all the code, or // LCOV_EXCL comments that make it obvious to a code reviewer what isn't covered (and they can then sensibly judge the risk). It's a good way to keep our code quality high, and avoid the possibility that we quietly skimp on unit tests when under deadline pressure. Also, if new members of the team don't realise how important good unit test coverage is, they'll find that out on their first checkin when the build breaks, rather than several weeks in.