Test Double is generic term for fakes, mocks, stubs, dummies and spies.| martinfowler.com
Unit Tests are focused on small parts of a code-base, defined in regular programming tools, and fast. There is disagreement on whether units should be solitary or sociable.| martinfowler.com
Test Doubles avoid non-deterministic errors, but you need Contract Tests to ensure they remain consistent with the real services.| martinfowler.com