2013-07-05 1 views
-2

저는 장고와 현대적인 웹 개발을하고 있습니다. 나는 애플 리케이션의 테스트를 의심했다. 파이썬 지식이 부족하기 때문에 혼란이있을 수 있습니다. 나는 자바 프로그래머 였으므로 아래의 코드에 의심의 여지가있다. 내 코드는 다음과 같습니다.django 테스트/파이썬 구문

def test_was_published_recently_with_old_poll(self): 
    """ 
    was_published_recently() should return False for polls whose pub_date 
    is older than 1 day 
    """ 
    old_poll = Poll(pub_date=timezone.now() - datetime.timedelta(days=30)) 
    self.assertEqual(old_poll.was_published_recently(), False) 

내 코드는 내 app의 test.py에 있습니다. Poll(pub_date=timezone.now() - datetime.timedelta(days=30)) ... ... 내 질문은 (Poll은 models.py에 정의 된 클래스 임) 여기 실제로 무엇이 일어나고있는가? 누구든지 상세하게 설명해 주시겠습니까?

미리 감사드립니다.

답변

0

pub_date 필드가 timezone.now() - datetime.timedelta (days = 30)로 설정된 클래스를 '$'Poll (pub_date = timezone.now() - datetime.timedelta (days = 30) .

예를 들어, 2012-07-31 11 : 19 : 42.897000 + 00 : 00입니다. Poll 생성자는 pub_date가 2012-07-01 11 : 19 : 42.897000 + 00 : 00으로 설정된 클래스를 만듭니다.

1

경험이 Java로되어 있기 때문에 여기에서 문제가 발생하는 이유는 알 수 없습니다. 이 구문은 Java와 거의 동일합니다. pub_date 필드가 특정 값 (예 : 30 일 전의 날짜)으로 설정된 Poll 인스턴스를 만듭니다.

+0

그가 자바를 언급했을 때 내 생각. – Matt

+0

+1 나를 claryfing에 대한 의심 – zurfyx

+0

나는 자바 7까지 람다 함수라고 생각 ... – Warlock

0

Poll 개체의 was_published_recently 메서드가 예상대로 작동하는지 확인하는 단위 테스트입니다. Poll의 인스턴스를 생성하여 datetime을 30 일 동안 과거에 전달합니다 ... 'recent'이 아니므로 was_published_recently 메서드를 호출하면 False가 반환 될 것으로 예상됩니다. 그런 다음 self.assertEqual()을 사용하여 예상되는 동작을 테스트합니다.

관련 문제