2014-11-05 216 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