junit不能用來做多執行緒測試,因為junit不支援多執行緒。
junit的testrunner的main方法原始碼
public static void main(string args)
system.exit(success_exit);
} catch (exception e)
}
從原始碼可以看出來,junit是監控的main執行緒,一旦main執行緒執行結束就直接exit了,根本不管子執行緒的死活。
知道了junit的原理,我覺得可以嘗試實現一下支援多執行緒,不就是讓main執行緒不要退出嘛,簡單。
public class mytest ,"t"+string.valueof(i)).start();
}//只要執行緒數量比atc多就說明,自己建立的執行緒還有沒執行完的。
while(thread.activecount() > atc){}
}}
曲線救國 JUnit測試多執行緒
單元測試是不支援多執行緒的,主線程結束之後,不管子執行緒有沒有結束,都會強制退出。但是我們可以通過控制主線程結束的時間來做多執行緒測試.在junit的 test方法中啟用多執行緒,新啟動的執行緒會隨著 test主線程的死亡而死亡!導致沒有任何輸出 解決方法 在 test方法中每建立乙個執行緒,就jo...
Junit測試中多執行緒問題
這兩天使用junit測試,測試 中為了模擬實際場景開啟多執行緒,有的情況下,測試的功能本身就是多執行緒活動。測試半天沒有達到預想的效果,仔細研究發現 junit主線程執行完畢就結束了,不管後台執行緒。場景一 如果測試 中有多執行緒,可使用countdownlatc解決。private int i 3...
Junit單元測試多執行緒的問題
今天下午很快完成了乙個介面的監控功能,然後屁顛屁顛地用junit開始單元測試。然後我就開始陷入崩潰的邊緣.監控結束後需要將監控結果以郵件的形式傳送給運營的小夥伴維護,前面測試還是很順利,到了開多執行緒發郵件時就不行了,程式也不報錯,也接收不到郵件。然後改 再測試,再冥思一會兒,再改再測試,還是無果,...