2015-12-09 64 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是正确的为你的工具。您可以在测试套件中拆分测试,并且如果一个测试失败,则下一个测试将运行。