Exception Robot框架在异常时成功
我正在测试一个软件组件,希望该软件在某些情况下抛出异常。 我想通过使用robot框架重现这些情况Exception Robot框架在异常时成功,exception,testing,robotframework,Exception,Testing,Robotframework,我正在测试一个软件组件,希望该软件在某些情况下抛出异常。 我想通过使用robot框架重现这些情况 如果我捕获到一个特定的异常(这是我所期望的,因为我故意在被测组件中创建一个错误状态),测试用例将成功 如果我没有收到特定的异常(即,在错误情况下,我的测试组件没有失败(抛出异常),测试用例将失败 我要找的是这样的东西: prepareErrorInTestEnvironment try executeComponentWhichThrowsException except pa
- 如果我捕获到一个特定的异常(这是我所期望的,因为我故意在被测组件中创建一个错误状态),测试用例将成功
- 如果我没有收到特定的异常(即,在错误情况下,我的测试组件没有失败(抛出异常),测试用例将失败
prepareErrorInTestEnvironment
try
executeComponentWhichThrowsException
except
pass
fail
我相信
try/else
就是你想要的
prepareErrorInTestEnvironment
try:
executeComponentWhichThrowsException
except:
pass
else:
fail
您也可以返回,除非失败不会执行:
prepareErrorInTestEnvironment
try:
executeComponentWhichThrowsException
except:
*dosomething*
return
fail
“预期异常”的处理在Robot框架中有点特殊,因为异常通常会使关键字失败,从而导致测试失败。
你要找的关键词是
你的测试看起来像
*** Test Cases ***
my test
prepareErrorInTestEnvironment
Run Keyword and Expect Error TheExceptionYouExpect executeComponentWhichThrowsException
如果得到正确的异常,这将成功,否则将失败我认为我的“python”标记有点误导,因为我实际上是在寻找robotframework解决方案。感谢您的回答,我将删除“python”标志,因为我的问题不是robotframework独有的,只有python才能实现测试用例(此处为“ExecuteComponentWhichRowsException”是干净的,可能没有生成任何异常…此关键字强制要求远程端出现错误。如果“executeComponent”没有生成任何异常,则此关键字返回“测试用例预期错误'safeException:'未发生”