django 当ObjectDoesNotExitst被提升[重复]时Assert

bwleehnv  于 2023-11-20  发布在  Go
关注(0)|答案(1)|浏览(182)

此问题在此处已有答案

How do you test that a Python function throws an exception?(19个答案)
21天前关闭
我有一个函数,它会引发ObjectDoesNotExist

def is_user_login(self,id):
    try:
        u = m.CustomUser.objects.get(id=id)
    except ObjectDoesNotExist as e:
        raise e

字符串
现在我正在编写测试脚本。

try:
        CommonFunc.is_user_login(4)
    except Exception as e:
        print(e)
        self.assertEqual(ObjectDoesNotExist,e)


这不管用。
它显示如下错误,

AssertionError: <class 'django.core.exceptions.ObjectDoesNotExist'> != DoesNotExist('CustomUser matching query does not exist.')


我如何AssertObjectDoesNotEqual

k4ymrczo

k4ymrczo1#

这通常使用**.assertRaises(…)**[Python-doc]上下文处理器完成:

with self.assertRaises(ObjectDoesNotExist):
    CommonFunc.is_user_login(4)

字符串
然而,重新提出例外似乎没有多大意义,为什么不:

def is_user_login(self, id):
    # no try
    u = m.CustomUser.objects.get(id=id)

相关问题