Django/Python assertRaises带有消息检查

8 浏览
0 Comments

Django/Python assertRaises带有消息检查

我对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()
# 这行代码出错了 - 没有message属性。我还尝试了文档中看到的"error_code",但不起作用
print(cm.exception.message)
self.assertTrue(cm.exception.message.contains("Both"))

0