pytest fixture 用于teardown工作

fixture通过scope参数控制setup级别,setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。

举个例子:

pytest fixture 用于teardown工作

 

 输出:

pytest fixture 用于teardown工作

说明:yield

yieldfixture中起到了唤起teardown的作用,同时也可以和return一样返回值。
yieldreturn的区别是:
return执行完成,该函数终止;
yield在返回结束后,后续的代码仍可执行。

yield 遇到异常

1、如果其中一个用例出现异常,不影响 yield 后面的 teardown 执行,运行结果互不影响,并且全部用例执行完之后,yield 呼唤 teardown操作。 pytest fixture 用于teardown工作

输出

pytest fixture 用于teardown工作

 2、如果在setup就异常了,那么是不会去执行yield后面的teardown内容了

pytest fixture 用于teardown工作

 输出:

pytest fixture 用于teardown工作

 

 

上一篇:VUE3、Typescript等新技术是否适用?


下一篇:Charging(https://acs.jxnu.edu.cn/problem/ICPCJX2020C)