[라이브러리] Unit Test (단위 테스트, 유닛 테스트)
unittest 라이브러리 사용
일반적으로 tests.py 에 작성
# myCalc.py
def add(a, b):
return a + b
def substract(a, b):
return a - b
# tests.py
import unittest
import myCalc
class MyCalcTest(unittest.TestCase): # unittest.TestCase 상속
def setUp(self):
def tearDown(self):
def test_add(self):
c = myCalc.add(20, 10)
self.assertEqual(c, 30)
def test_substract(self):
c = myCalc.substract(20, 10)
self.assertEqual(c, 10)
if __name__ == '__main__':
unittest.main()
1. setUp()
- 테스트를 실시 전 사전작업을 하는 메서드
ex) 데이터 연결
2. tearDown()
- 테스트를 실시 후 사후작업을 하는 메서드
- setup()이 성공적으로 실행 됐을 때만 실행 됨
ex) 데이터 해제(clean up)
3. test_메서드명()
- 테스트를 실시하는 함수
- 테스트 함수는 반드시 test_ 로 시작해야 함
● 유닛테스트 시행
$ python -m unittest <test 할 모듈, 클래스, 메서드>
● assert메서드
assert 메서드 | 설명 |
assertEqual(a, b) | a == b |
assertIs(a, b) | a is b |
assertTrue(a) | bool(a) is True |
assertIsNone(a); | a is None |
assertIn(a, b) | a in b |
assertIsInstance(a, b) | a 객체가 b의 인스턴스인지 |
● Django(장고)에서 Test 진행하는 법
- 각 App에 있는 test.py에서 코드 작성 후 진행
-
python manage.py test <AppName>
으로 tests.py 실행 가능