From 7061da514ada660a7b6c34e7eccf3940afec67fa Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Mon, 27 Feb 2012 19:04:33 +0000 Subject: [PATCH] Added a diagram of the hierarchy of our TestCase subclasses to the testing docs. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17595 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- .../django_unittest_classes_hierarchy.png | Bin 0 -> 11757 bytes docs/topics/testing.txt | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 docs/topics/_images/django_unittest_classes_hierarchy.png diff --git a/docs/topics/_images/django_unittest_classes_hierarchy.png b/docs/topics/_images/django_unittest_classes_hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..5f28b56ed665be434da49d16010f7cda700eba8b GIT binary patch literal 11757 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 Lj%v;yrVsxM+^(=o literal 0 HcmV?d00001 diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt index ef6fb3c9b3..5980740a36 100644 --- a/docs/topics/testing.txt +++ b/docs/topics/testing.txt @@ -1089,6 +1089,9 @@ TestCase Normal Python unit test classes extend a base class of :class:`unittest.TestCase`. Django provides a few extensions of this base class: +.. image:: _images/django_unittest_classes_hierarchy.png + :alt: Django hierarchy of unit testing helper classes (TestCase subclasses) + .. class:: TestCase() This class provides some additional capabilities that can be useful for testing