python2和python3在unittest裡的tearDown()使用sys.exc_info()結果不相同
阿新 • • 發佈:2018-12-23
# !/usr/bin/env python # -*- coding:utf-8 -*- """ @ Author :Evan @ Date :2018/11/20 12:25 @ Version : 1.0 @ Description: @ Modified By: """ import sys import unittest class TestOne(unittest.TestCase): def setUp(self): print("this is setup\n") def test_first(self): self.assertEqual(1, 2) def tearDown(self): print("this is tearDown\n") print("sys.exc_info()", sys.exc_info()) if __name__ == '__main__': unittest.main()
這裡面self.assertEqual(1, 2)必定是錯誤的。
首先我們用Python2執行,結果如下:
python2中sys.exc_info()是有資料的!
接著我們用Python3執行,結果如下:
Python3中sys.exc_info()都是None!!
個人能力有限,不知道為什麼。