Что такое assertEquals в Python?
У меня есть следующий файл test.py в Django. не могли бы вы объяснить этот код?
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',
)
5 ответов
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(contact) == 'John Smith', если нет, то утверждение равняется неудачно, тест не пройден и уведомит вас об ошибке в этой строке.
Другими словами, assertEquals - это функция, которая проверяет, равны ли две переменные, для целей автоматического тестирования:
def assertEquals(var1, var2):
if var1 == var2:
return True
else:
return False
Надеюсь, поможет.
assertEquals
это метод на unittest.TestCase
класс
Это формирует тестовое утверждение; где str(contact)
должен быть равен 'John Smith'
для прохождения теста.
assertEquals
устарел с Python 3.2, вам следует использовать assertEqual
(нет s
).
Или pytest
.
AssertEquals устанавливает ваш тест как пройденный, если __str__
вашей contact
объект возвращает 'John Smith`. Это часть юнит-тестов, вы должны проверить официальную документацию
Синтаксис: assertEqual(first, second, msg=None)
Проверьте, что первое и второе равны. Если значения не сравниваются равными, тест не пройден. Кроме того, он также проверит, являются ли first и second одинаковыми типами, а также списком, кортежем, dict, set, frozenset или unicode.
в вашем случае это проверит, проверит if str(contact) == 'John Smith'
, если нет, то утверждение равно не удалось.