如何分发和执行特定于平台的单元测试?

aby*_*byx 5 python unit-testing buildbot

我们有一个python项目,我们想要使用buildbot开始测试.其单元测试包括仅适用于某些平台的测试.所以,我们有测试应该在所有平台上传递,测试应该只在1个特定平台上运行,测试应该通过平台A,B,C和传递B和D的测试.

这样做的最佳方式是什么?简单的套件会很麻烦,因为如上所述,每个测试都可以有不同的目标平台列表.我想添加"@run_on"和"@ignore_on"装饰器,它们可以将平台与测试方法相匹配.有更好的吗?

aby*_*byx 0

我们决定使用装饰器,使用平台模块和其他模块来检查是否应该执行测试,如果不应该简单地让它通过(不过,我们看到 python2.7 的主干中已经有一个 SkipTest 异常,该异常可能会导致在这种情况下会引发,忽略测试)。