即使python/djang中的值相同,assertEqual也会失败

2024-09-29 22:01:11 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能解释一下为什么失败了:

def test_test(self):
   ...
   print Test.id
   print name[0]
   self.assertEqual(name[0], Test.id)

输出是

Creating test database for alias 'default'... ......

c8124e1d-c01c-4762-bcc0-d32df93e0824

c8124e1d-c01c-4762-bcc0-d32df93e0824 F.................... ====================================================================== FAIL: ... ---------------------------------------------------------------------- Traceback (most recent call last): ... self.assertEqual(name[0], Test.id)

AssertionError: u'c8124e1d-c01c-4762-bcc0-d32df93e0824' != UUID('c8124e1d-c01c-4762-bcc0-d32df93e0824')

有什么想法吗?在


Tags: nametestselfcreatingidfordefdatabase
1条回答
网友
1楼 · 发布于 2024-09-29 22:01:11

请看错误消息:name[0]是unicode字符串,Test.id是UUID。它们具有相同的表示形式,但它们是不同的对象。要测试相等性,只需将一个对象转换为另一个对象的类型:

self.assertEqual(name[0], str(Test.id))

相关问题 更多 >

    热门问题