慕工程0101907
2018-08-07 20:15:39
請問python的unittest能不能期待一個(gè)錯(cuò)誤出現(xiàn)而通過測試,不報(bào)錯(cuò)?比如下邊的代碼運(yùn)行時(shí)會(huì)拋出一個(gè)ERROR,有沒有可能換一個(gè)測試函數(shù)實(shí)現(xiàn)順利通過測試(出來一個(gè)點(diǎn))?改成assertRaises也是要報(bào)錯(cuò)。謝謝。import unittestclass TestStringMethods(unittest.TestCase): def test_score(self): self.failUnlessRaises(ZeroDivisionError, 1/0)if __name__ == '__main__': unittest.main()
2 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
“斷言”只管判斷,而不在乎判斷的東西到底什么。
異常不是“斷言”這個(gè)層面考慮的問題。
你的問題自己
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)

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
import unittest
class TestStringMethods(unittest.TestCase):
def test_score(self):
with self.assertRaises(ZeroDivisionError):
1/0
if __name__ == '__main__':
unittest.main()
- 2 回答
- 0 關(guān)注
- 1227 瀏覽
添加回答
舉報(bào)
0/150
提交
取消