我有一个具有深树结构的大型测试套件。我想根据命令行标志运行该树的某些部分。例如,如果我有目录 a / b / c , a / b / d , a / b / e 和 f / g 我可能想在 a / b 和 f 中运行所有测试,但 a / b / c 中的测试除外>。由于各种原因,我无法更改测试本身以适应这一点,因此我无法使用标记。 (这里的目标是能够运行各种测试片而无需更改任何文件。)
似乎我可以使用 py.test --ignore a / b / c - a / b f ,但我想知道是否有更好的方法?有没有办法不需要我更改rootdir?有没有办法在Linux和Windows之间移植?
此外,虽然我现在只对按目录和文件进行过滤感兴趣,但有没有办法将其扩展为按测试类和方法过滤? -k标志似乎可以做到这一点,但我不能使用目录名称。 -k'a / b而非a / b / c'给出除以零的错误。