說說 Python TestCase 中的斷言方法

unittest.TestCase 類中提供了不少斷言方法, 經過這些斷言方法,咱們就能夠檢查程序邏輯是否符合預期。bash

方法 說明
assertEqual(x,y) 驗證 x = y
assertNotEqual(x,y) 驗證 x != y
assertTrue(x) 驗證 x 爲 True
assertFalse(x) 驗證 x 爲 False
assertIn(x , list ) 驗證 item 在 list 中
assertNotIn(item , list ) 驗證 item 不在 list 中

除了以上這些簡單的斷言方法以外,還提供了一些高級斷言方法。好比 assertAlmostEqual,它的方法簽名是這樣的:spa

def assertAlmostEqual(self, first, second, places=None, msg=None,
                          delta=None)
複製代碼

delta 表示 second - first 的差值絕對值範圍,舉個例子,如下斷言都是正確的:code

self.assertAlmostEqual(1, 1)
self.assertAlmostEqual(2, 1, delta=1)
self.assertNotAlmostEqual(3, 1, delta=1)
複製代碼

places 表示: second - first 的差值絕對值,對其取近似值,所保留的小數位數,形如:round(abs(first - second),places)。若是結果爲 0,則斷言經過。cdn

如下斷言都是正確的:blog

self.assertAlmostEqual(2, 1.98, places=1)
self.assertNotAlmostEqual(2, 1.98, places=2)
複製代碼

注意: places 與 delta 不能同時存在,不然會拋出 TypeError: specify delta or places not both。ci

除此以外,還提供了不少斷言方法哦:it

相關文章
相關標籤/搜索