Add some documentation on functional testing tools
Change-Id: I4c694ba8da0ece7d8e94921edc8ff7b46242f705
diff --git a/doc/source/internals.rst b/doc/source/internals.rst
index 7546615..e98ab6e 100644
--- a/doc/source/internals.rst
+++ b/doc/source/internals.rst
@@ -85,3 +85,34 @@
.. autoclass:: zuul.model.RepoFiles
.. autoclass:: zuul.model.Worker
.. autoclass:: zuul.model.TriggerEvent
+
+
+Testing
+-------
+
+Zuul provides an extensive framework for performing functional testing
+on the system from end-to-end with major external components replaced
+by fakes for ease of use and speed.
+
+Test classes that subclass :py:class:`~tests.base.ZuulTestCase` have
+access to a number of attributes useful for manipulating or inspecting
+the environment being simulated in the test:
+
+.. autoclass:: tests.base.ZuulTestCase
+ :members:
+
+.. autoclass:: tests.base.FakeGerritConnection
+ :members:
+ :inherited-members:
+
+.. autoclass:: tests.base.FakeGearmanServer
+ :members:
+
+.. autoclass:: tests.base.RecordingLaunchServer
+ :members:
+
+.. autoclass:: tests.base.FakeBuild
+ :members:
+
+.. autoclass:: tests.base.BuildHistory
+ :members: