8-fixture如何实现teardown功能?(yield的使用)
1引入
- 之前学习
fixture
的时候,其实这个功能就类似用例的前置,给用例执行前设置一些条件; - 那
fixture
也就相当于setup
的功能; - 那有没有
teardown
的功能呢? - 有,
fixture
里面的teardown
用yield
来唤醒teardown
的执行。
2 yield说明
yield
是一个关键字;yield
在fixture
中起到了唤起teardown
的作用,同时也可以和return
一样返回值;- 但
yield
和return
的区别是:return
执行完成,该函数终止;yield
在返回结束后,后续的代码仍可执行; - 如果
yield
前面的代码,即setup
部分已经抛出异常了,则不会执行yield
后面的teardown
内容;