pytest fixture 用于teardown工作

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

举个例子:

pytest fixture 用于teardown工作_第1张图片

 输出:

pytest fixture 用于teardown工作_第2张图片

说明:yield

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

yield 遇到异常

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

pytest fixture 用于teardown工作_第3张图片

输出

pytest fixture 用于teardown工作_第4张图片

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

pytest fixture 用于teardown工作_第5张图片

 输出:

pytest fixture 用于teardown工作_第6张图片

你可能感兴趣的:(接口自动化测试,pytest,功能测试,接口测试,测试工具,软件测试,自动化测试)