2015-04-22 41 views
0

我這樣做,在目前不失敗:Python的單元測試 - 多斷言=>如果至少一個的把它們傳遞

try: 
    self.assertIsNotNone(a) 
except AssertionError: 
    try: 
     self.assertIsTrue(b) 
    except AssertionError: 
     try: 
      self.assertIn(c, C) 
     except AssertionError: 
      self.assertIsInstance(d, D) 

(這些斷言應該通過)

如何要做得更好?

-

UPDATE:使用任何類型的斷言

+0

你可以做'E = A或B或C或D',然後' self.assertIsNotNone(E)'。 – cnluzon

回答

2

你可以使用:

self.assertFalse(any(x is None for x in (a, b, c, d))) 
+0

問題已更新 – lajarre

相關問題