본문 바로가기
개발

[Django] lotto - 장고 테스트 코드 작성

by 마스터누누 2017. 6. 28.
728x90
반응형

lotto -  장고 테스트 코드 작성




장고는 풀 스택 프레임워크이다.

웬만한건 다 지원해 준다고 볼 수 있는데, 심지어 코드 테스트 기능까지 지원해준다.

우리가 앞서 만들었던 generate 코드를 이 테스트 기능을 이용하여 테스팅 해보도록하자.





1
2
3
4
5
6
7
8
9
10
11
12
13
from .models import GuessNumbers
 
from django.test import TestCase
 
# Create your tests here.
class GuessNumbersTestCase(TestCase):
    def test_generate(self):
        g = GuessNumbers(name='apple', text='pineapple')
        g.generate()
        print(g.update_date)
        print(g.lottos)
        self.assertTrue(len(g.lottos) > 20)
 
cs


lotto 폴더 내부에 test.py가 있는데 여기에 테스트 코드를 작성하면 된다.

우선 여기에 from django.test import TestCase를 추가해준다.

그리고 테스트 케이스를 동작시킬 클래스를 추가시켜주는데, 이 코드는 import한 TestCase를 상속 받는다.


간단하게 이 클래스 안에 테스트용 메소드를 추가하고, 하고 싶은걸 적어주면 된다.

우리는 GuessNumbers가 잘돌아가는지 확인하고 싶으므로,

g라는 변수에 GuessNubers를 넣고, 실행 시켜준 다음, 결과 값을 출력하거나 테스트 값을 비교하면 된다.


테스트 값 비교는 assert라는 함수를 사용하며, 참인 경우 assertTrue 함수를 사용한다.

이 함수의 내부에는 통과할 조건문을 입력한다.





이렇게 작성한 테스트 코드를 동작시키기 위해서는

터미널에서 $python manage.py test라는 코드를 입력한다.

그러면 위와 같이 테스트의 결과값을 확인할 수 있다.

이를 통해 TDD 등의 기법 적용이 가능하다.



출처 : 인프런, 파이썬 웹 프로그래밍, Django로 웹 서비스 개발하기


반응형

댓글