1. 程式人生 > 實用技巧 >Pytest系列(四)setup、teardown

Pytest系列(四)setup、teardown

一、setup / teardown

  • setup_method / teardown_method:作用於 class 中的方法,class 中的每個測試用例都執行一次

  • setup_function / teardown_function:作用於不在 class 中的獨立的測試函式

  • setup_class / teardown_class:作用於類,每個class執行一次

  • setup_module / teardown_module:作用於 .py 檔案,每個 py 檔案執行一次

def setup_module():      
      print("每個模組( .py 檔案)執行一次---------setup------------") 
def teardown_module():      
      print("每個模組( .py 檔案)執行一次----------teardown---------") 
def setup_function():      
      print("每個獨立的測試方法執行一次---------setup------------") 
def teardown_function():      
      print("每個獨立的測試方法執行一次----------teardown---------") 

def test01():      
      assert 1 == 1     

class TestFunction:      
      @classmethod        
      def setup_class(cls):              
            print("每個類呼叫一次---------setup------------")        
      @classmethod        
      def teardown_class(cls):              
            print("每個類呼叫一次---------teardown------------")        

      def setup_method(self):              
            print("每個類裡面的測試方法執行一次---------setup------------")        
      def teardown_method(self):              
            print("每個類裡面的測試方法執行一次---------teardown------------")        
      
      def test_02(self):              
            assert 1 == 1        
      def test_03(self):              
            assert 1 == 1

二、fixture 實現 teardown

參見 fixture 章節