최대 1 분 소요

개요

  • 공식 문서
  • 옵션
    • 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