SpringBoot中的response和request模擬單元測試

謎一樣的Coder發表於2018-07-30

問題背景

工作中已經用到了前後端分離,比較奇怪的一點是,有些程式碼在service層都存在request物件,這個就很無語,在測試的時候,由於controller層依舊沒有開發完成,所以我們需要對request進行打樁測試。

問題簡單描述:如何進行request的打樁測試......

解決方式

關鍵詞:MockHttpRequest、Mock測試

在測試過程中與原來的測試例項編寫沒有任何區別,只是在建立request物件的時候,可以用MockHttpRequest物件來代替,具體實現程式碼如下:

@RunWith(SpringJUnit4ClassRunner.class)  
@SpringBootTest(classes = Application.class) //這裡需要指明SpringBoot程式的啟動類
public class HttpServletTest  {  
  
    private static final Log log = LogFactory.getLog(HttpServletTest.class);  
  
    private MockHttpServletRequest request;    
    private MockHttpServletResponse response;    
      
    @Before  
    public void setUp(){  
        request = new MockHttpServletRequest();    
        request.setCharacterEncoding("UTF-8");    
        response = new MockHttpServletResponse();    
    }  
      
    @Test  
    public void test(){  
        //這裡加入測試邏輯程式碼,可以直接利用request即可 
    }  
      
}  

後記

入職已經將近一個月,測試有時候也是必須要掌握的一個技能,前路漫漫,道阻且長,好好搬磚積累吧。

相關文章