> Fully mocked unit tests are then supplemented with fewer “full stack” tests higher up the pyramid.
Has the wrong priority. Full stack tests are the most valuable for shipping working software. Tests are enforcing contracts between components. Often I’ll see unit tests written for cases that do not exist. This is very bad. Testing at the boundary of your stack ensures the contracts that matter are enforced. Everything else is just making devs wonder “is this requirement actually real?”.
I used to be big on unit tests until I had to maintain a codebase for more than a couple years. I still use them, but mostly out of laziness.
> Fully mocked unit tests are then supplemented with fewer “full stack” tests higher up the pyramid.
Has the wrong priority. Full stack tests are the most valuable for shipping working software. Tests are enforcing contracts between components. Often I’ll see unit tests written for cases that do not exist. This is very bad. Testing at the boundary of your stack ensures the contracts that matter are enforced. Everything else is just making devs wonder “is this requirement actually real?”.
I used to be big on unit tests until I had to maintain a codebase for more than a couple years. I still use them, but mostly out of laziness.