@floppy @theDoctor @ghost_letters Code composed of small modules is easier to test, if each module can be tested in isolation. It's then possible to drive unusual & error paths as well as the happy paths through the code.
The trick is deciding the size of "unit" to test. If it's larger, there's more scope for refactoring without needing to change the tests. If it's smaller, then moving code between modules and changing interfaces tends to require test rework.