Encapsulation
Protecting code against invariant violations by making the wrong thing impossible.
Protecting code against invariant violations by making the wrong thing impossible.
Make the wrong thing impossible.
Tests written without knowledge of the software's internal structure
Khorikov's 4 pillars of good unit tests
A prescripted balance of automated test types
Consistency, availability, and partition tolerance — pick two.
A pattern for structuring unit tests
An automated test which verifies a single unit of behaviour, runs quickly and in isolation
The tendency for codebases to become harder to change as they grow.