fixture通過scope參數控制setup級別,setup作為用例之前前的操作,用例執行完之后那肯定也有teardown操作。這里用到fixture的teardown操作并不是獨立的函數,用yield關鍵字呼喚teardown操作。
舉個例子:
?輸出:
說明:yield
yield
在fixture
中起到了喚起teardown
的作用,同時也可以和return
一樣返回值。
但yield
和return
的區別是:return
執行完成,該函數終止;yield
在返回結束后,后續的代碼仍可執行。
yield 遇到異常
1、如果其中一個用例出現異常,不影響 yield 后面的 teardown 執行,運行結果互不影響,并且全部用例執行完之后,yield 呼喚 teardown操作。
輸出
?2、如果在setup就異常了,那么是不會去執行yield后面的teardown內容了
?輸出: