2011-04-25 54 views
1

Java方法可以測試使用斷言喜歡的assertEquals(),asssertTrue(_)JUnit 4中如何使用斷言測試是這樣的:如何測試一個類繼承Thread

public class MyThread extends Thread { 
    public int val; 

    public MyThread(int val){ 
     this.val = val; 
    } 

    @Override 
    public void run(){ 
     // doSomeWork(); 
    } 
} 

另外,我需要等待run()在jUnit返回測試結果之前完成執行嗎?

回答

3

最重要的事情第一:通常認爲更好的設計不會在不必要的地方繼承。通常情況下,更好設計的代碼更容易測試。

測試現有代碼的最簡單方法是致電run而不是start。如果你想保持線程,你可以撥打Thread.join等待完成。您可能需要致電Thread.setUncaughtExceptionHandler報告線程中的任何未經檢查的異常。