Lightning fast tests

One of the benefits of having an automated test suite is the feedback given when code is being changed.
As the project grows, the test suite becomes slower and slower every day,
until it’s so slow it stops being useful.
Tests are disabled, skipped and finally removed.
Huge part of the problem lies in getting the testing pyramid wrong
and putting to much effort into wrong type of testing.

Learn everything from writing good unit tests, through using test doubles (like stubs or mocks),
to writing integration tests.
Learn how to structure your project to benefit from a test-first design.
Apply the right amount of testing on appropriate levels, write decoupled code,
and run your tests in seconds, not hours.
The result will look suspiciously close to the hexagonal architecture.