【问题标题】:Dependiences between tests in nosetests/unittest in PythonPython中的nosetests / unittest中的测试之间的依赖关系
【发布时间】:2017-10-26 10:08:03
【问题描述】:

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

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

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

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

更新
为了尽可能清楚:我正在寻找类似于PHPUnit 中的@depends 注释的功能。例如,以下代码在firstTestsecondTest 之间创建依赖关系:

/**
 * @depends firstTest
 */
public function secondTest()
{
    // test body
}

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

【问题讨论】:

标签: python unit-testing python-unittest nose


【解决方案1】:

好吧,This SO 线程处理同样的问题,它所说的有点真实,如果它是一个真正的单元测试并且如果你的代码结构良好,那么你不应该需要(换句话说:不应该是这样)一个测试依赖于另一个测试。

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

【讨论】:

  • 我知道“真正的”单元测试应该是完全独立的。但是,对我来说,引入一个“初始单元测试”要方便得多,它旨在确认配置正确并且运行剩余的(真实的)单元测试是有意义的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多