在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  測試/ python的unittest能不能期待一個錯誤出現(xiàn)而通過測試,不報錯?

python的unittest能不能期待一個錯誤出現(xiàn)而通過測試,不報錯?

請問python的unittest能不能期待一個錯誤出現(xiàn)而通過測試,不報錯?
比如下邊的代碼運行時會拋出一個ERROR,有沒有可能換一個測試函數(shù)實現(xiàn)順利通過測試(出來一個點)?改成assertRaises也是要報錯。
謝謝。

import unittest
class TestStringMethods(unittest.TestCase):
        
    def test_score(self):
        self.failUnlessRaises(ZeroDivisionError, 1/0)

if __name__ == '__main__':
    unittest.main()

回答
編輯回答
清夢
import unittest
class TestStringMethods(unittest.TestCase):
        
    def test_score(self):
        with self.assertRaises(ZeroDivisionError):
            1/0

if __name__ == '__main__':
    unittest.main()
2017年12月13日 22:47
編輯回答
舊螢火
  • “斷言”只管判斷,而不在乎判斷的東西到底什么。
  • 異常不是“斷言”這個層面考慮的問題。
  • 你的問題自己 try 起來就完了。
def fail_unless_raises(error_type, func):
    try:
        func()
    except error_type:
        return
    else:
        raise Exception('xxx')


fail_unless_raises(ZeroDivisionError, lambda: 1/1)
2017年12月11日 09:33