[Python] 유닛 테스트
Updated:
개요
- 공식 문서
- 옵션
python -m unittest -h
- 메소드
- setUpClass()
- 클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드
- tearDownClass()
- 클래스의 테스트들이 실행된 후에 한번 호출되는 클래스 메소드
- setUp()
- 테스트 메소드를 호출하기 바로 직전에 호출되는 메소드
- tearDown()
- 테스트 메소드가 완료되고 결과가 기록되고 나서 바로 다음에 호출되는 메소드
- setUpClass()
예제
- 코드
-
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