2014-06-24 2 views

답변

3

try/except 블록으로 모든 테스트를 랩핑하는 runTest 메소드 (the documentation에 언급 된대로)를 작성하십시오. 테스트 코드를 깨끗하게 유지할 수 있기 때문에 실제로이 작업을 수행해야하는 경우이 방법을 사용하는 것이 좋습니다.

2

캐치를 :

import unittest 

def testFailed(): 
    print("test failed") 

class T(unittest.TestCase): 
    def test_x(self): 
     try: 
      self.assertTrue(False) 
     except AssertionError: 
      testFailed() 
      raise 

if __name__ == "__main__": 
    suite = unittest.defaultTestLoader.loadTestsFromTestCase(T) 
    unittest.TextTestRunner().run(suite) 

또 다른,보다 일반적인 가능성이하는 것입니다 : 당신이 그것을하지 말아야하지만, 당신이 정말로 원하는 경우, 여기에 간단한 예입니다하기 위해 일반적으로

try: 
    # something 
except AssertionError: 
    # do something 
+1

어설 션이 실패 할 때만 코드를 실행하고 싶습니다. 나는 두 가지 상황에서 마침내 코드가 실행될 것이라고 생각한다. –

+0

예. 맞습니다. 그냥 except와 under를 사용하는 것은 예외입니다. –

관련 문제