向后兼容策略

在Pytest项目中,保持向后兼容性具有非常高的优先级。尽管多年来我们已经弃用了功能,但大多数功能仍然受到支持。Pytest中的所有不赞成都是因为已经出现了完成相同任务的更简单或更有效的方法,使得做事情的旧方法变得不必要。

在pytest 3.0版本中,我们引入了一个清晰的通信方案,当我们实际移除旧的总线连接时,我们会礼貌地要求您使用新的hostness,同时给您足够的时间来调整您的测试,或者在有正当理由保留不推荐的功能时提出问题。

为了传达更改,我们使用自定义的警告层次结构发出拒绝警告(请参见 内部Pytest警告 )可使用标准方法抑制这些警告: -W 命令行标志或 filterwarnings ini选项(请参见 捕获警告 ,但我们建议谨慎和临时使用,并在可能的情况下注意警告。

我们将只在主要版本中开始删除不推荐使用的功能(例如,如果我们在3.0版本中弃用某个功能,我们将在4.0版本中开始删除它),并将其保留至少两个次要版本(例如,如果我们在3.9和4.0版本中弃用某个功能,我们将在5.0版本中删除它,而不是在4.0版本中)。

当折旧到期(例如4.0已发布)时,我们不会立即删除已弃用的功能,而是使用标准警告过滤器将其转换为 错误 默认情况下。这种方法明确地表明删除是迫在眉睫的,并且仍然给您时间将不推荐使用的特性转换为警告,而不是错误,以便在您自己的时间内处理它。在下一个次要版本(例如4.1)中,该特性将被有效地删除。

折旧路线图

先前版本中当前已弃用和删除的功能可以在中找到 弃用和移除 .

我们使用里程碑和 deprecationremoval GitHub上的标签。