看一下下面的测试用例:
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中写的很多测试用例的测试用例,现在运行它来检查数据库的连接是否已连接。
如果是,则传递“数据库版本号”。
如果没有,那么它会抛出异常,我已经处理了。
运行此其余案例后,测试案例在我使用的任何测试框架(Robot、unittest、pytest)中都显示通过。
但是,我希望这个测试用例失败,因为它不是我正在寻找的结果。
处理异常,因为我想看到唯一的错误消息,而不是所有那些红线异常。
我愿意接受任何类型的建议,无论是否涉及删除异常。
最佳答案
通过测试的行为是预期的。只有当您收到某些断言中未预期的结果时,测试才会失败。
在您的情况下,如果您希望引发异常,您应该使用:
self.assertRaises(cx_Oracle.DatabaseError, self.version())
如果您想检查版本是否正确,请使用:
self.assertEqual(XXX, self.version())
其中XXX是您期望的self.version()的值
关于python - 如果在 Python 中引发并处理异常,测试用例会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52517732/