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

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

此问题在此处已有答案

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

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

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

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


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

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


我如何AssertObjectDoesNotEqual

k4ymrczo

k4ymrczo1#

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

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

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

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

相关问题