我想測試嵌入式設備的功能。爲了簡化,我可以說它是一個通過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]
...