2011-05-13 171 views
0

我在編寫JUnit測試我的應用程序的過程中,我想知道我怎麼可以測試下面的類一個Spring類:測試擴展AbstractPdfView

public class PdfBottomCheckView extends AbstractPdfView { 

    @Override 
    protected void buildPdfDocument(Map<String, Object> model, Document document, PdfWriter writer, 
      HttpServletRequest request, HttpServletResponse response) throws Exception { 

     MyObjet1 object1 = (MyObject1) model.get("object1"); 
     MyObject2 object2= (MyObject2) model.get("object2"); 

     HelperClass helper= new HelpClass(getMessageSourceAccessor(), getServletContext()); 

     helper.writeLogo(document); 
     helper.writeFooter(document, writer); 

     document.add(help.generateOutput(object1, object2, 105, new int[]{55,20,30}, helper.getNormalFont()));  } 
} 

還有就是我是如何實現一個完整的例子這與春天here

我發現另一個網站,顯示你可以比較byte []測試pdf輸出。該文章是here(向下滾動到標題'生產正確的二進制輸出')

我收到一個錯誤,在輔助線上運行測試。我如何模擬或傳遞Helper類的有效值?我使用Spring 3.0.5,jUnit 4和Mockito 1.8.5。

謝謝

+0

你準確得到了什麼錯誤? – abalogh 2011-05-13 21:23:00

+0

java.lang.IllegalStateException:ApplicationObjectSupport實例[com.test.PdfBottomCheckView:unnamed]不在ApplicationContext中運行 – blong824 2011-05-13 22:19:50

回答

0

創建一個工廠類,生成助手。將工廠類作爲構造函數arg傳遞給您的PdfBottomCheckView。他們在你的測試中嘲笑你的工廠,從那裏你可以生成一個模擬助手類。

如果您不使用Mockito,請使用它。