【发布时间】:2016-03-15 08:10:45
【问题描述】:
我想测试嵌入式设备的功能。为了简化,我可以说它是一个由 PC 通过 C/C++ API 远程控制的人形机器人。
我对使用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]
...
【问题讨论】:
标签: python unit-testing testing