gpt4 book ai didi

python - Python 中的自定义错误消息

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:16 25 4
gpt4 key购买 nike

所以我正在练习一些单元测试,我对错误消息有疑问。我正在尝试创建一条自定义错误消息,该消息将在测试失败时显示。这是一个基本的 Hello World 程序。测试运行一切正常,但这是我收到的错误消息。

F ====================================================================== FAIL: test_StringContains
(__main__.TestSuite) ----------------------------------------------------------------------
Traceback (most recent call last): File "Testsuite.py", line 8, in test_StringContains
self.assertEqual("Hello, World", hello_world,"This is a custom error") AssertionError: 'Hello,
World' != 'Hello World' - Hello, World ? - + Hello World : This is a custom error ---------------
-------------------------------------------------------
Ran 1 test in 0.000s FAILED (failures=1)

所以这是意料之中的。这是我的测试套件

from  HelloWorld import*
import unittest

class TestSuite(unittest.TestCase):

def test_StringContains(self):
self.assertEqual("Hello World", hello_world,"This is a custom")


if __name__ == "__main__":
unittest.main()

这是我的运行代码

hello_world = "Hello World"
print (hello_world)

super 基础,只是想了解如何抛出自定义错误消息。如果测试失败,我唯一想知道的是 This is a custom error,我尝试在此处查看有关错误和异常的 Python 文档 https://docs.python.org/2/tutorial/errors.html ,但不确定如何实现。

我不知道这是否可行。任何帮助是极大的赞赏。谢谢

最佳答案

你可以做的是通过将 assertEqual 包装在 try except 语句中来捕获 AssertionError,然后打印错误:

        try:
self.assertEqual("Hello World", hello_world,"This is a custom error")
except AssertionError as e:
print(e)

然而,在捕获 AssertionError 时有一个缺点:unittest 模块无法再计算错误。(堆栈跟踪并不漂亮,但它们的目的是将您准确指向堆栈中发生错误的位置。)

关于python - Python 中的自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26368064/

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