2016-05-23 64 views

回答

0

我嘗試這樣做:

public void setHttpServletRequest(HttpServletRequest httpServletRequestMock){ 
    register(
     new AbstractBinder() { 
      @Override 
      protected void configure() { 
      bind(httpServletRequestMock).to(HttpServletRequest.class); 
      } 
     } 
    ); 
    } 

這工作。但這樣做對於由工廠創建的對象相同的我得到了一個錯誤:

public void setAnObjectCreatedByAFactory(Object myObjectCreatedByFactory){ 
    register(
     new AbstractBinder() { 
      @Override 
      protected void configure() { 
      bind(myObjectCreatedByFactory).to(myObjectCreatedByFactory.class); 
      } 
     } 
    ); 
    } 
+1

使用'bindFactory(YourFactory.class)。爲了(CreatedType.class)' –

+0

參見[這裏](HTTP://計算器.com/a/37345374/2587435),如果你想要真正的請求對象,而不是模擬 –

+0

嘿謝謝你的答案。但我的服務看起來像這樣@Produces(MediaType.APPLICATION_JSON) public List accounts(@Context HttpServletRequest req,@Context ObjectCreatedWithAFactory object){....}。在我的服務中,對象始終爲空... – LupoZ