2014-11-05 218 views
2

我正在测试软件组件,并希望该软件在某些情况下抛出异常。 我想通过使用机器人框架来重现这些情况。机器人框架成功例外

  • 如果我抓住一个特定的异常测试用例会成功(这是我很期待,因为我故意在测试我的成分生成错误状态)
  • 如果我没有收到测试用例应该失败具体的异常(即我的测试组件没有失败(在一个错误的情况抛出一个异常))

我所寻找的是这样的:

prepareErrorInTestEnvironment 
try 
    executeComponentWhichThrowsException 
except 
    pass 
fail 

回答

3

治疗的“预期的异常”是机器人框架有点具体,一般例外将失败关键字,因此测试。 您正在寻找的关键字是Run Keyword and Expect Error

您的测试看起来像

*** Test Cases *** 
my test 
    prepareErrorInTestEnvironment 
    Run Keyword and Expect Error TheExceptionYouExpect executeComponentWhichThrowsException 

这会成功,如果你得到了适当的异常,屡否则

0

我相信try/else是你想要

prepareErrorInTestEnvironment 
try: 
    executeComponentWhichThrowsException 
except: 
    pass 
else: 
    fail 

您也可以返回上除了这样失败不会执行什么:

prepareErrorInTestEnvironment 
try: 
    executeComponentWhichThrowsException 
except: 
    *dosomething* 
    return 
fail 
+1

我想我的“蟒蛇”标签是有点误导,因为我其实是在寻找一个机器人框架解决方案 感谢您的回复 我将删除“python”标志,因为我的问题并不是唯一的使用python的robotframework – 2014-11-05 16:33:45