gpt4 book ai didi

python - 有什么方法可以将自定义/调试消息添加到 python/django unittest.TestCase 的失败测试方法的详细信息中?

转载 作者:太空狗 更新时间:2023-10-29 22:27:36 29 4
gpt4 key购买 nike

我正在使用 unittest.TestCase 为我的 django 应用程序编写测试用例(这与 python 中的 unittest.TestCase 基本相同)。每当测试方法失败时,我都会以下面的格式得到它的解释。有没有一种方法可以将自定义/调试消息添加到失败的测试方法的输出中?

======================================================================
FAIL: test_bad_votes (polls.tests.views.PollsViewsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/colinh/Development/tutorials/guide-to-testing-in-django/polls/tests/views.py", line 66, in test_bad_votes
self.assertEqual(resp.context['form']['choice'].errors, [u'This field is required.'])
AssertionError: [] != [u'This field is required.']

最佳答案

一般情况下,要继承django的unittest类TestCase,从django.test导入即可。也就是说,您可以将 msg 参数传递给您要评估的任何内容,其中包含失败消息。

这是来自 Humanize 的示例:

class HumanizeTests(TestCase):

def humanize_tester(self, test_list, result_list, method):
# Using max below ensures we go through both lists
# However, if the lists are not equal length, this raises an exception
for test_content, result in zip(test_list, result_list):
t = Template('{%% load humanize %%}{{ test_content|%s }}' % method)
rendered = t.render(Context(locals())).strip()
self.assertEqual(rendered, escape(result),
msg="%s test failed, produced '%s', should've produced '%s'" % (method, rendered, result))

显然,您的不需要像上面那样,但您可以看到 msg 参数的作用。

关于python - 有什么方法可以将自定义/调试消息添加到 python/django unittest.TestCase 的失败测试方法的详细信息中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9505247/

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