什么是Python中的assertEquals?

时间:2013-07-29 09:38:33

标签: python django django-tests

我在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',
        )

6 个答案:

答案 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测试两个变量是否相等。