2013-07-29 5 views
1

У меня есть следующий файл test.py в django. не могли бы вы объяснить этот код?Что на самом деле assertEquals в Python?

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 (контакт) == «Джон Смит», если нет, то утверждать, что равный сбой –

+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', 
     ) 

В основном это будет проверить, если строка (контакт) == «Джон Смит», если нет, то утверждать, равно провален и тест не удалось, и он сообщит вам об ошибке на этой линии.

Других слов, assertEquals функция, чтобы проверить, если две переменных равны, для целей автоматизированного тестирования:

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

Надеется, что это помогает.

+0

Это правда, хотя вы мог бы переписать любой оператор if (немедленно возвращающий «True» или «False» более лаконично, выполняя 'return var1 == var2'. –

-1

В assertEquals установить испытание, как прошло, если __str__ из ваших contact Object Возвращает «Джон Smith`. Это часть модульных испытаний, вы должны проверить the official documentation

-1

Синтаксис: assertEqual(first, second, msg=None)

испытаний, что первый и второй равны. Если значения не сравниваются равными, тест не будет выполнен. Кроме того, он также проверяет, являются ли первый и второй одинаковым тип и один из списка, кортеж, dict, set, frozenset или unicode.

в вашем случае он проверит, проверит ли if str(contact) == 'John Smith', если нет, то утвердить равное не удалось.

-1

assertEquals проверяет, равны ли две переменные друг другу.

Смежные вопросы