unittest 8 斷言異常(assertRaises)


背景

我們有時候需要斷言一些方法會拋出異常,這些異常需要符合我們的預期。

代碼

新建test_exception.py文件,內容如下

import unittest

class DivZeroTestCase(unittest.TestCase):

    def test_should_raise_exception(self):
        with self.assertRaises(ZeroDivisionError):
            1 / 0

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

運行及結果

$ python test_exception.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

我們能學到什么

  • 上面的例子斷言了當0作為除數的時候會拋出ZeroDivisionError
  • 斷言異常是有套路的,使用with語句加assertRaises,assertRaises的參數中傳入預期的異常(這些異常可能需要先import進來),在with的子句中放上會拋出異常的語句或表達式

參考

http://www.testclass.net/pyunit/assert_raise

 

斷言異常方法,實際運行的時候發生期望的異常,屬於測試通過。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM