首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果在Python中引发并处理异常,测试用例会失败吗?

如果在Python中引发并处理异常,测试用例会失败吗?
EN

Stack Overflow用户
提问于 2018-09-26 20:25:44
回答 1查看 1.2K关注 0票数 1

看一下下面的测试用例:

代码语言:javascript
复制
def test_1_check_version(self):
    try:
        self.version()
        print('\n')
    except cx_Oracle.DatabaseError as error_message:
        print("Sorry Connection could not be established because "+str(error_message))

上面是我用Python的Unittest编写的许多测试用例的测试用例,现在我正在运行它来检查数据库的连接是否连接。

如果是,那么它将传递‘数据库版本号’。

如果不是,那么它将抛出一个异常,我已经处理过了。

在运行这个rest用例之后,测试用例在我使用过的任何测试框架(Robot、unittest、pytest)中都显示通过。

但是,我希望这个测试用例失败,因为它不是我想要的结果。

处理异常,因为我希望看到唯一的错误消息,而不是所有的异常红线。

我对任何类型的建议都持开放态度,无论它是否涉及删除异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 20:33:32

通过测试的行为是预期的。只有当您收到某些断言中未预期的结果时,测试才会失败。

在您的示例中,如果希望抛出异常,则应使用:

代码语言:javascript
复制
self.assertRaises(cx_Oracle.DatabaseError, self.version())

如果您想检查版本是否正确,请使用:

代码语言:javascript
复制
self.assertEqual(XXX, self.version())

其中XXX是您期望的self.version()的值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52517732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档