0
我有以下類:如何測試異步線程方法被調用?
public class ForTest {
public void methodToTest(Thread thread){
thread.start();
}
}
class MyThread extends Thread{
FooClass fooClass;
public MyThread(FooClass fooClass){
this.fooClass = fooClass;
}
@Override
public void run() {
fooClass.bar();
}
}
class FooClass{
public void bar(){}
}
我想測試方法methodToTest
。
我想通過MyThread的實例作爲提到的方法的參數。
因此我想驗證方法bar
被調用。
你能幫我用Mockito或Powermock寫嗎?
我認爲我不應該使用超時。 – gstackoverflow 2015-02-10 14:11:07
嗯,這取決於。在你的情況下,因爲它是一個微不足道的代碼,所以你不必使用'timeout'參數,因爲線程執行速度非常快。 – Crazyjavahacking 2015-02-10 14:17:46
但通常如果線程執行可能更長更復雜,應始終使用@Test(timeout ...)。 – Crazyjavahacking 2015-02-10 14:18:17