# What is a test double?

A test double is a generalization of something that replaces a real object to
make it easier to test another object. It's like a stunt double for tests. The
following are test doubles:

* Mocks
* Stubs
* Fakes
* Spies
* Proxies

*Learn more: <http://xunitpatterns.com/Test%20Double.html>*

Currently RR implements mocks, stubs, proxies, and spies. Fakes usually require
custom code, so it is beyond the scope of RR.
