Updated:

less than 1 minute read

개요

  • 공식 문서
  • 옵션
    • python -m unittest -h
  • 메소드
    • setUpClass()
      • 클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드
    • tearDownClass()
      • 클래스의 테스트들이 실행된 후에 한번 호출되는 클래스 메소드
    • setUp()
      • 테스트 메소드를 호출하기 바로 직전에 호출되는 메소드
    • tearDown()
      • 테스트 메소드가 완료되고 결과가 기록되고 나서 바로 다음에 호출되는 메소드


예제

  • 코드
    •  import unittest
              
              
       class XXX:
              
           def __init__(self):
               return
              
           def func_1(self):
               return
              
           def func_2(self):
               return
              
              
       class TestXXX(unittest.TestCase):
              
           @classmethod
           def setUpClass(cls):
               print('\nsetUpClass(cls)')
              
           @classmethod
           def tearDownClass(cls):
               print('\ntearDownClass(cls) call')
              
           def setUp(self):
               print('\nsetUp(self) call')
              
           def tearDown(self):
               print('\ntearDown(self) call')
              
           def test_func_1(self):
               self.assertEqual(1, 1, 'message-1')
               self.assertNotEqual(1, 2)
              
               self.assertTrue(True)
               self.assertFalse(False)
              
               data_1 = []
               data_2 = []
               data_3 = data_1
               self.assertIs(data_1, data_3)
               self.assertIsNot(data_1, data_2)
              
           def test_func_2(self):
               data_1 = None
               data_2 = 1
               self.assertIsNone(data_1)
               self.assertIsNotNone(data_2)
              
               data_1 = (1, 2, 3)
               self.assertIn(2, data_1)
               self.assertNotIn(5, data_1)
              
               self.assertIsInstance(1, int)
               self.assertNotIsInstance(1.1, int)
              
              
       if __name__ == '__main__':
           print('__main__ call')
      
  • 실행 결과
    • python main.py
       __main__ call
      
    • python -m unittest main.py
         setUpClass(cls)
              
         setUp(self) call
              
         tearDown(self) call
         .
         setUp(self) call
              
         tearDown(self) call
         .
         tearDownClass(cls) call
              
         ----------------------------------------------------------------------
         Ran 2 tests in 0.000s
              
         OK