如何测试一个类继承Thread

问题描述:

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返回测试结果之前完成执行吗?

最重要的事情第一:通常认为更好的设计不会在不必要的地方继承。通常情况下,更好设计的代码更容易测试。

测试现有代码的最简单方法是致电run而不是start。如果你想保持线程,你可以拨打Thread.join等待完成。您可能需要致电Thread.setUncaughtExceptionHandler报告线程中的任何未经检查的异常。