<分区>
我想测试嵌入式设备的功能。为简化起见,我可以说它是一个由 PC 通过 C/C++ API 远程控制的人形机器人。
我对使用 nosetests
非常感兴趣,因为它的非样板方法。但是,我的情况有点复杂。实际测试是在 C# 程序上运行,大约需要 24 小时才能完成。通过切换到 Python,我可能会节省大量开发新测试的时间。但是,在这样做之前,我正在寻找一些答案。
古老测试套件的第一个问题是所有测试都按照预定义的顺序执行,如果出现任何错误,整个测试就会停止。我想构建不依赖于其他测试结果的独立测试套件。例如,与机器人 ARM 相关的测试与其中一条腿无关。但是,步行测试需要两者都成功。
在晚上执行所有测试套件。如果一个失败,则执行下一个,依此类推。这样做的好处是,当你在周一早上回来工作时,你可以获得比周五晚上你离开 10 分钟后整个测试都失败的情况更有用的结果。
所以我正在寻找一个测试框架,它允许:
- 在测试套件中拆分测试。
- 尝试每个测试套件,无论前一个测试套件是否失败。
- 提供有关某些测试的依赖性的信息。
我看了Proboscis允许依赖项固定装置,但该项目看起来已经死了。
我想知道定制 nose 需要做多少工作才能获得这些功能。也许还值得尝试另一个测试框架。我不知道,我需要一些线索...
因此,为了让事情尽可能简单,以下是我对测试的看法:
#!/usr/bin/python
def testArms():
...
pass
def testLegs():
...
pass
@depend(testArms, testLegs)
def testWalk():
...
pass
test_suite1 = [testLegs, testArms, testWalk]
...