2015-12-09 102 views
0

我想測試嵌入式設備的功能。爲了簡化,我可以說它是一個通過C/C++ API由PC遠程控制的類人機器人。在Python中測試嵌入式系統的測試框架

我非常有興趣使用nosetests,因爲它的非模板化方法。不過,我的情況有點複雜。實際測試在C#程序上運行,需要大約24小時才能完成。通過切換到Python,我可以節省大量時間開發新的測試。但是,在做這件事之前,我正在尋找一些答案。

古代測試套件的第一個問題是,所有測試都以預定義順序執行,如果發生任何錯誤,整個測試將停止。我想構建不依賴於其他測試結果的獨立測試套件。例如,與機器人手臂有關的測試與其中一條腿沒有關係。但是,步行測試需要成功。

晚上所有的測試套件都會執行。如果一個失敗,下一個被執行,等等。好處是在星期一早晨當你回來工作時,比離開你離開10分鐘後的週五晚上的所有測試都失敗了,你可以得到更有用的結果。

所以我是找了一個測試框架,允許:

  • 劈裂測試套件的測試。
  • 無論前一次失敗,每個測試套件都會嘗試一次。
  • 提供有關某些測試依賴性的信息。

我看着Proboscis,允許依賴燈具,但項目看起來死了。

我想知道爲了獲得這些功能需要多少工作來定製鼻子。也許值得嘗試另一個測試框架。我不知道,我需要一些線索......

因此,爲了讓事情儘可能的簡單,這裏就是我看到我的測試:

#!/usr/bin/python 

def testArms(): 
    ... 
    pass 

def testLegs(): 
    ... 
    pass 

@depend(testArms, testLegs) 
def testWalk(): 
    ... 
    pass 

test_suite1 = [testLegs, testArms, testWalk] 

... 

回答

1

我覺得Robot Framework是正確的爲你的工具。您可以在測試套件中拆分測試,並且如果一個測試失敗,則下一個測試將運行。