Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 1.9 KB

why_mock.md

File metadata and controls

54 lines (35 loc) · 1.9 KB

Why Use Mock

  • Less interaction with e.g database
  • No need to unnecessarily expose state
  • Less duplicate coverage
  • Faster tests
  • Reduced coupling
  • Enhanced TDD

Type of Mock

  • Dummy Object
  • Fake Object
  • Stubs
  • Mocks

Dummy Object

Dummy objects are passed around but never actually used. Usually they are just used to fill parameter lists.

Fake Object

Fake objects actually have working implementations, but usually take some shortcut which makes them not suitable for production (an in memory database is a good example).

Stubs

Stubs provide canned answers to calls made during the test, usually not responding at all to anything outside what's programmed in for the test. Stubs may also record information about calls, such as an email gateway stub that remembers the messages it 'sent', or maybe only how many messages it 'sent'.

Mocks

Mocks are objects pre-programmed with expectations which form a specification of the calls they are expected to receive.

Mock Libraries

Further Reading