2013-07-29 44 views
1

我在django中有以下test.py文件。你能解释一下这段代码吗?Python中的实际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(联系人)=='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

这是真的,尽管你可以重写任何if语句(通过执行'return var1 == var2'来更简洁地返回'True'或'False'。 –

-1

的assertEquals将设置你的测试,如果你contact对象返回“约翰Smith`的__str__为通过。这是单元测试的一部分,你应该检查the official documentation

-1

语法:assertEqual(first, second, msg=None)

测试该第一和第二相等。如果值不相等,则测试将失败。此外,它还将检查第一个和第二个是否与列表,元组,字典,集合,冻结集或unicode完全相同。

在你的情况下,它将检查将检查if str(contact) == 'John Smith',如果不是,那么assert平等是失败的。

-1

assertEquals测试两个变量是否彼此相等。

相关问题