test.py =============================================================================== # -*- coding: utf-8 -*- from __future__ import print_function, absolute_import, unicode_literals from unittest import TestCase class SkipTest(TestCase): def test_skip(self): self.skipTest("Skipped with unicode char質") =============================================================================== :~/code/test$ unit2 Traceback (most recent call last): File "/usr/local/bin/unit2", line 11, in sys.exit(main_()) File "/usr/local/lib/python2.7/dist-packages/unittest2/__main__.py", line 18, in main_ main(module=None) File "/usr/local/lib/python2.7/dist-packages/unittest2/main.py", line 90, in __init__ self.runTests() File "/usr/local/lib/python2.7/dist-packages/unittest2/main.py", line 248, in runTests self.result = testRunner.run(self.test) File "/usr/local/lib/python2.7/dist-packages/unittest2/runner.py", line 172, in run test(result) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 126, in run test(result) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 126, in run test(result) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 87, in __call__ return self.run(*args, **kwds) File "/usr/local/lib/python2.7/dist-packages/unittest2/suite.py", line 126, in run test(result) File "/usr/lib/python2.7/unittest/case.py", line 393, in __call__ return self.run(*args, **kwds) File "/usr/lib/python2.7/unittest/case.py", line 351, in run self._addSkip(result, str(e)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-43: ordinal not in range(128) =============================================================================== Change: self._addSkip(result, unicode(e)) =============================================================================== :~/code/test$ unit2 -v test_skip (test.SkipTest) ... skipped u'Skipped with unicode char\u8cea' ---------------------------------------------------------------------- Ran 1 test in 0.000s OK (skipped=1) =============================================================================== :~/code/test$ python3 -m unittest2 -v test_skip (test.SkipTest) ... skipped 'Skipped with unicode char質' ---------------------------------------------------------------------- Ran 1 test in 0.000s OK (skipped=1)