我在django中有以下test.py文件。你能解释一下这段代码吗?
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',
)
答案 0 :(得分:13)
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
希望它有所帮助。
答案 1 :(得分:6)
assertEquals
is a method on the unittest.TestCase
class
它形成了一个测试断言;其中str(contact)
必须等于'John Smith'
才能通过测试。
答案 2 :(得分:1)
assertEquals
从Python 3.2开始被弃用,您应该使用assertEqual
(不能使用s
)。
或pytest
。
答案 3 :(得分:-1)
如果__str__
对象的contact
返回'John Smith`,则assertEquals会将您的测试设置为已通过。这是单元测试的一部分,您应该检查the official documentation
答案 4 :(得分:-1)
语法:apply plugin: 'http://plugins.jasoft.fi/vaadin.plugin?version=0.10.4
测试第一个和第二个是否相等。如果值不比较相等,则测试将失败。此外,它还将检查第一个和第二个是完全相同的类型以及list,tuple,dict,set,frozenset还是unicode之一。
在你的情况下,它将检查是否会检查assertEqual(first, second, msg=None)
,如果没有,则断言相等失败。
答案 5 :(得分:-2)
assertEquals测试两个变量是否相等。