2013-07-29 2 views
1

나는 django에서 다음의 test.py 파일을 가지고있다. 이 코드를 설명해 주시겠습니까? 당신의 contact 개체 반환 '존 Smith`의 __str__ 경우 통과로실제로 파이썬에서 assertEquals 란 무엇입니까?

from contacts.models import Contact 
... 
class ContactTests(TestCase): 
    """Contact model tests.""" 

    def test_str(self): 

     contact = Contact(first_name='John', last_name='Smith') 

     self.assertEquals(
      str(contact), 
      'John Smith', 
     ) 
+1

str (contact) == 'John Smith'가 아닌지 확인한 다음 같지 않음을 확인하면 같음이 실패했습니다. –

+0

작성자에게 질문 했습니까? –

+1

실제로 assertEquals가 무엇인지 정의 할 수 있습니까? – Rockhound

답변

7
from contacts.models import Contact # import model Contact 
... 
class ContactTests(TestCase): # start a test case 
    """Contact model tests.""" 

    def test_str(self): # start one test 

     contact = Contact(first_name='John', last_name='Smith') # create a Contact object with 2 params like that 

     self.assertEquals( # check if str(contact) == 'John Smith' 
      str(contact), 
      'John Smith', 
     ) 

기본적으로 다음 동일한 주장하지 않으면 그것은 실패, STR (접촉) == '존 스미스'의 경우입니다 확인하고 테스트가 실패 그리고 그 라인에서 당신에게 오류를 통지합니다.

즉, assertEquals 두 변수가 동일한 경우 기능이 자동화 된 테스트의 목적을 위해, 확인하는 것입니다 :

def assertEquals(var1, var2): 
    if var1 == var2: 
     return True 
    else: 
     return False 

는 도움이되기를 바랍니다.

+0

(return'var1 == var2'를 사용하여'True' 또는'False'를 더 간결하게 반환하는) if 문을 다시 작성할 수 있습니다. –

-1

assertEquals는 테스트를 설정합니다. 이것은 단위 테스트의 일부입니다. 확인해야합니다. the official documentation

-1

구문 : 제 1 및 제 2 동일 assertEqual(first, second, msg=None)

시험. 값이 동일하지 않으면 테스트가 실패합니다. 또한 first와 second가 정확히 동일한 유형이고 list, tuple, dict, set, frozenset 또는 unicode 중 하나인지 확인합니다.

귀하의 경우에는 if str(contact) == 'John Smith'을 확인한 다음 동일하지 않은 것으로 확인됩니다.

-1

assertEquals는 두 변수가 서로 같은지 여부를 테스트합니다.

관련 문제