Skip to content

Instantly share code, notes, and snippets.

@htv2012
Last active August 29, 2015 14:08
Show Gist options
  • Save htv2012/3cf46bda71920288424c to your computer and use it in GitHub Desktop.
Save htv2012/3cf46bda71920288424c to your computer and use it in GitHub Desktop.
Using unittest.TestCase.longMessage to provide more detail. See the example below and output. Documentation: https://docs.python.org/2/library/unittest.html#unittest.TestCase.longMessage
""" Demo the use of longMessage to give more details """
import unittest
class MyTestCase(unittest.TestCase):
def test_use_long_message(self):
""" Use longMessage for more detailed error message """
self.longMessage = True
actual_values = [0, 1, 2, 3]
expected_values = [0, 1, 2, 3, 4]
self.assertEqual(expected_values, actual_values, "Items mismatched")
def test_not_use_long_message(self):
""" Not using longMessage, error will be terse """
self.longMessage = False
actual_values = [0, 1, 2, 3]
expected_values = [0, 1, 2, 3, 4]
self.assertEqual(expected_values, actual_values, "Items mismatched")
if __name__ == '__main__':
unittest.main()
FF
======================================================================
FAIL: test_not_use_long_message (long_message_tests.MyTestCase)
Not using longMessage, error will be terse
----------------------------------------------------------------------
Traceback (most recent call last):
File "long_message_tests.py", line 19, in test_not_use_long_message
self.assertEqual(expected_values, actual_values, "Items mismatched")
AssertionError: Items mismatched
======================================================================
FAIL: test_use_long_message (long_message_tests.MyTestCase)
Use longMessage for more detailed error message
----------------------------------------------------------------------
Traceback (most recent call last):
File "long_message_tests.py", line 12, in test_use_long_message
self.assertEqual(expected_values, actual_values, "Items mismatched")
AssertionError: Lists differ: [0, 1, 2, 3, 4] != [0, 1, 2, 3]
First list contains 1 additional elements.
First extra element 4:
4
- [0, 1, 2, 3, 4]
? ---
+ [0, 1, 2, 3] : Items mismatched
----------------------------------------------------------------------
Ran 2 tests in 0.000s
FAILED (failures=2)
@htv2012
Copy link
Author

htv2012 commented Nov 4, 2014

  1. The longMessage shows more detailed output, how the two lists differ
  2. The use of descriptive names such as expected_values and actual_values helps distinguishing between the two. By looking at the output, we know which list contains the expected values and actual values.
  3. Notice the use of The first line of docstring in the output

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment