Python中的nosetests / unittest测试之间的依赖关系

时间:2017-05-25 16:54:43

标签: python unit-testing python-unittest nose

我想介绍我的单元测试之间的依赖关系。我的第一个测试确定是否应该执行其余的测试。

我知道@unittest装饰器及其条件跳过方法skipIf的存在。因此,我的解决方案就像引入一个负责保存第一个单元测试状态信息的字段一样简单。有了这些信息,我可以装饰剩余的单元测试并在第一次单元测试失败时跳过它们。

但是,我觉得这不是最好的方法。如果考虑更多的依赖关系,那么似乎需要维护整个结构以保留所需的信息。

我一直在寻找内置功能,但我找不到更好的功能。

更新
为了使其尽可能清晰:我正在寻找与PHPUnit中的@depends注释类似的功能。例如,以下代码在firstTestsecondTest

之间创建依赖关系
/**
 * @depends firstTest
 */
public function secondTest()
{
    // test body
}

在上面的示例中,当且仅当secondTest通过时才会执行firstTest

1 个答案:

答案 0 :(得分:1)

嗯,This SO线程处理相同的问题,它说的是真的,如果它是一个真正的单元测试,如果你的代码结构良好,那么你不应该(在其他单词:不应该是这样的)一个测试取决于另一个。

但是,如果您绝对需要它,并且确实有充分理由,您可以查看Proboscis。看起来它可能(通过分组测试)接近你想要的东西。