pytest的fixture学习十七

不同层级下重写fixture

在相对比较大的测试套件中,可能需要使用本地定义的fixture来代替全局fixture,以保持测试代码的可读性和可维护性。

1、在文件夹(confest)层级重写fixture

给定的测试文件结构如下:

图示结构

如上所见,对于某些测试文件夹的层级,具有相同名称的fixture可以被覆盖。注意:可以便捷地从重写的fixture访问base或super fixture。

2、在测试模块层级重写fixture

给定的测试文件结构如下:

结构示例

如上所见,对于某些测试模块的层级,具有相同名称的fixture可以被覆盖。

3、用直接测试参数重写fixture

给定的测试文件结构如下:

文件示例

上面示例中,fixture值被测试参数值覆盖。注意:即使测试没有直接使用fixture(在功能原型中未提及),也可通过该方法来覆盖fixture值。

4、用非参数化的参数覆盖参数化的fixture,反之亦然

给定的测试文件结构如下:

文件示例

在上面示例中,对于某些测试模块,参数化的fixture被非参数化的fixture覆盖,而非参数的fixture被参数化的fixture覆盖。同样适用于测试文件夹层级。


经过这么长时间,终于过了一遍pytest的fixture部分,理解了基本原理和fixture初始化等知识点,下面就需要灵活运用了,加油!!!

你可能感兴趣的:(pytest的fixture学习十七)