This sounds bad.
Geoffroy Warin

I don’t think there are well-known solutions. This is something the entire industry is struggling with.

What we did on my sub-team on Chrome was to double-down on unit tests, and not write as many integration tests. We tried to design our code such that bigger and bigger pieces could be tested using the unit testing style.

One of the things I really love about Go is the implicit interfaces — they allow this kind of extensive unit testing of every level of the stack, without relying on all the layers below. That was a lot harder to do with C++ and Java.