This page is part of my personal knowledge database, that helps me to store and navigate my learnings.
Read on here for details

Unit Testing

In Unit Testing individual components (“units”) of source code are tested in isolation of any other component. As a result the functionality of each individual component can be proven.

Unit Tests are the “foundation” of software testing, as they guarantee that the functionality works as intended - that is: as expressed in the software tests.

Writing code, that is “unit testable” implies that the resulting components “expose their dependencies”. Or vice versa: Code, that has hidden dependencies is not unit-testable in a clean way.

Dependencies in Unit Tests need to be mocked, stubbed, written as test-dummies, etc.