2017-10-19 73 views
-2

如何爲簡單主要方法編寫junit。 請幫忙.. !!!無法爲主要方法編寫junit

我的代碼是:

public static void main(String[] args) { 
    String workingMonth = dailyPostingTool.processForbearanceData(); 
} 

我想下面的JUnit,但它不會工作...

@Test 
    public void testProcessForbearanceData() throws CRASException, IOException { 
    String args[] = null; 
    DailyPostingTool.main(args); 
    String dailyTool = dailyPostingTool.processForbearanceData(); 
    assertNotNull("Check for not null result", dailyTool); 
    } 
+1

你能詳細說明你的代碼「不起作用」嗎?你在期待什麼,究竟發生了什麼?如果您遇到異常/錯誤,請發佈其發生的行和異常/錯誤的詳細信息。請[編輯]這些細節或我們可能無法提供幫助。 – Henry

+0

什麼不行?錯誤訊息?或者在它不應該傳遞的場景中assertNotNull傳遞?請解釋出了什麼問題。 – Doleron

+0

真正的答案在這裏:花一些時間先研究單元測試背後的想法和概念。你只是缺少基本知識 - 還有很多好的書籍和教程可以幫助你解決這個問題。 – GhostCat

回答

1

你怎麼想測試你main()方法?
它什麼都沒有返回。因此,爲了測試它,你應該檢查通過

dailyPostingTool.processForbearanceData() 

進行任何的副作用(它有),但你真的需要測試main方法?

實際上,要測試的邏輯位於processForbearanceData()方法中。
再說,你的方法測試名字所傳達的那樣:

public void testProcessForbearanceData() throws CRASException, IOException { 

所以,你應該專注於測試它。

+1

感謝您編寫我想到的內容。我實際上是在尋找一個dup來關閉它,但幸運的是,我找不到一個;-) – GhostCat

+0

你很好。我知道這不是一個很好的問題。謝謝你,正如我經常說的,一點綠色永遠不會傷害:) – davidxxx