2013-01-03 2 views
2

단위 테스트를 처음 접했을 때 다음 함수에 대한 단위 테스트를 작성하는 방법이 궁금합니다.Django Queryset 단위 테스트

from poll.models import Poll 
def total(): 
    all_polls = Poll.objects.all() 
    return all_polls.count() 

위의 함수에서 무엇을 테스트해야합니까?

답변

3

매우 유용한 것은 없으므로이 특정 기능을 테스트하는 데 별다른 의미가 없습니다. 하지만 예제로 사용하고 있기 때문에 원리는 샘플 데이터로 시스템을 설정 한 다음 함수가 예상 한 결과를 반환하는지 확인하는 것입니다. 따라서이 경우 두 개의 Poll 객체가 만들어지고 그 함수가 값 2를 반환한다고 주장 할 수 있습니다.

이 경우에는 내가 생각할 수있는 유일한 사례가 있습니다. 설문 조사가 전혀 없을 때 충돌하지 않습니다. 따라서 두 개의 설문 조사를 삽입하기 전에 함수를 호출하고 테스트를 통해 0을 반환 할 수 있습니다. 두 인스턴스를 추가하고 반환 값을 확인하십시오. 2

일반적으로 Django의 고유 한 기능을 테스트하는 것은 피해야합니다. 이는 장고 자체 테스트에서 다루었습니다. 이런 식으로 함수가 내장 메서드를 호출하는 것 외에는 아무 것도하지 않는다면, 우리가 이미 알고 있기 때문에 count() 함수가 두 개를 반환하는지 확인하는 것이 중요하지 않습니다.