unittest.TestCase.assertDictEqual and assertMultilineEqual provide better default failure messages in the event of long diffs.
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index b984bb9..ff6b8b3 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -800,10 +800,11 @@
         self.assert_(isinstance(d2, dict), 'Second argument is not a dictionary')
 
         if d1 != d2:
+            standardMsg = '%s != %s' % (safe_repr(d1, True), safe_repr(d2, True))
             diff = ('\n' + '\n'.join(difflib.ndiff(
                            pprint.pformat(d1).splitlines(),
                            pprint.pformat(d2).splitlines())))
-            standardMsg = self._truncateMessage('', diff)
+            standardMsg = self._truncateMessage(standardMsg, diff)
             self.fail(self._formatMessage(msg, standardMsg))
 
     def assertDictContainsSubset(self, expected, actual, msg=None):
@@ -886,9 +887,10 @@
                 'Second argument is not a string'))
 
         if first != second:
+            standardMsg = '%s != %s' % (safe_repr(d1, True), safe_repr(d2, True))
             diff = '\n' + ''.join(difflib.ndiff(first.splitlines(True),
                                                        second.splitlines(True)))
-            standardMsg = self._truncateMessage('', diff)
+            standardMsg = self._truncateMessage(standardMsg, diff)
             self.fail(self._formatMessage(msg, standardMsg))
 
     def assertLess(self, a, b, msg=None):