pytest -------- pytest中的 setup 与 teardown实现用例的前后置条件执行(三)

unittest中有测试固件,用于在每个测试用例执行前后执行相关操作,通常情况下测试过程中会将一些相同的准备操作或者一些结束操作放在固件中,对于pytest如何来实现?

setup() 和 teardown() 在测试方法执行之前与之后进行执行,此方法与 setup_method()  和 teardown_method() 方法作用是一样的

 

pytest -------- pytest中的 setup 与 teardown实现用例的前后置条件执行(三)

从截图来看,每次执行用例之前均会执行setup中的操作,执行用例之后均会执行teardown中的操作

我们可以将一些执行用例之前必须的操作放在setup中,称为前置条件

把一些后置操作放在teardown中,类似于jmeter中前置处理器和后置处理器

2、setup_class() 和 teardown_class()  是在测试类中所有测试方法执行之前 或者执行完成之后进行执行的操作

pytest -------- pytest中的 setup 与 teardown实现用例的前后置条件执行(三)

总结:

setup/teardown 和setup_class和teardown_class 是运行在 类中的方法

setup_function/teardown_function 和 setup_module/teardown_module 是运行在方法,

setup_function/teardown_function是方法的前置和后置用法,不在类中

setup_module/teardown_module 是所有用例开始前只执行一次和所有用例结束后只执行一次

运行的优先级为:setup_module/teardown_module的优先级最大,然后函数里面用到的setup_function/teardown_function与类里面的setup_class/teardown_class之间没有影响