How to set self.maxDiff in nose to get full diff output?
Solution 1:
You set maxDiff
to None
.
But you will have to actually use a unittest.TestCase
for your tests for that to work. This should work.
class MyTest(unittest.TestCase):
maxDiff = None
def test_diff(self):
<your test here>
Solution 2:
This works in python 2.7:
from unittest import TestCase
TestCase.maxDiff = None
It'll set the default maxDiff for all TestCase instances, including the one that assert_equals and friends are attached to.
Solution 3:
I had the same problem in Python 3 (from reading the other answers here) and using im_class
did not work. The snippet below works in Python 3 (cf. How to find instance of a bound method in Python?):
assert_equal.__self__.maxDiff = None
As @Louis commented, the convenience functions are bound methods on a Dummy
instance. They all seem to be on the same instance, so changing this for e.g. assert_equal
will change it for assert_dict_equal
et cetera. From the Python docs, __self__
is available from Python 2.6 and forward.