gpt4 book ai didi

python - 带有消息检查的 Django/Python assertRaises

转载 作者:IT老高 更新时间:2023-10-28 22:14:38 26 4
gpt4 key购买 nike

我对 Python 比较陌生,想使用 assertRaises 测试来检查 ValidationError,它工作正常。但是,我有很多 ValidationError,我想确保返回正确的。我想我可以将一些东西传递给 assertRaises 但它看起来不像我可以,所以我想我会做一个 assertTrue 并检查异常消息。但是,我不知道如何访问它。这甚至是解决这个问题的好方法吗?谢谢。

class DailyEntriesTests(TestCase):
def test_cant_have_ip_and_user(self):
u = createUser(False)
de = createDailyEntry(u, "1.1.1.1", 1)
with self.assertRaises(ValidationError) as cm:
de.full_clean()

# this line bombs - message doesn't exist. I also tried "error_code" like I saw in the documentation, but that doesn't work
print(cm.exception.message)

self.assertTrue(cm.exception.message.contains("Both"))

最佳答案

您可以使用 assertRaisesRegexp .

with self.assertRaisesRegexp(ValidationError, "Both"):
de.full_clean()

当您将它用作上下文管理器时,第二个参数是一个正则表达式,用于搜索异常的字符串表示。

关于python - 带有消息检查的 Django/Python assertRaises,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26664112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com