gpt4 book ai didi

python - 测试是否引发了 ValidationError

转载 作者:太空狗 更新时间:2023-10-29 17:15:01 26 4
gpt4 key购买 nike

我想测试是否引发了异常,我该怎么做?

在我的 models.py 中我有这个函数,我想测试的那个:

  def validate_percent(value):
if not (value >= 0 and value <= 100):
raise ValidationError('error')

在我的 tests.py 中我试过这个:

def test_validate_percent(self):
self.assertRaises(ValidationError, validate_percent(1000))

测试的输出是:

..E
======================================================================
ERROR: test_validate_percent (tm.tests.models.helpers.HelpersTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/...py", line 21, in test_validate_percent
self.assertRaises(ValidationError, validate_percent(1000))
File "/....py", line 25, in validate_percent
raise ValidationError(u'error' % value)
ValidationError: ['error']

最佳答案

assertRaises 用作上下文管理器:

def test_validate_percent(self):
with self.assertRaises(ValidationError):
validate_percent(1000)

或者调用一个:

def test_validate_percent(self):
self.assertRaises(ValidationError, validate_percent, 1000)

关于python - 测试是否引发了 ValidationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16214846/

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