不同层级下重写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初始化等知识点,下面就需要灵活运用了,加油!!!