背景
下面模擬下junit測試不支援多執行緒的場景.
import org.junit.jupiter.api.test;
public
class
junitdemo
}class
runner
implements
runnable
}}
多次執行上述程式,會發現不會列印出10行結果。junit測試,在程勳執行完畢後,就立即把結束,才不管後台啟動了多個執行緒在處理什麼。
解決方案。方案比較多。這裡瞎歪歪幾種
eg :
private
int i = 10;
/* * 執行緒計數器
* 將執行緒數量初始化
* 每執行完成一條執行緒,呼叫countdown()使計數器減1
* 主線程呼叫方法await()使其等待,當計數器為0時才被執行
*/private countdownlatch latch = new countdownlatch(i);
@test
public
void test()
try catch (interruptedexception e)
}class
runner
implements
runnable
參考文獻文獻1
junit不支援多執行緒
昨天學習redis的時候嘗試去寫一些測試用例,結果嘗試模擬生產者消費者模式的時候出問題了,沒有資料插入到redis,於是上來發了個問答 今天在用junit寫多執行緒的時候也出現了這個問題,頓時恍然大悟 莫非是junit的問題,上網搜了一下果然如此 原因 junit的原始碼 public static...
junit單元測試不支援多執行緒測試
今天看 高併發 書,寫了乙個多執行緒的類,發現測試方法輸出的結果並不對 同樣的 經過main方法後輸出的結果卻是正常的 經過研究後發現單元測試 test並不支援多執行緒測試 以下為分析過程 private static executorservice ex executors.newfixedthr...
支援測試驅動,不支援同步測試
測試驅動是一種開發的過程,採用單元測試的方式確定開發任務,指示開發進度,我覺得好。但是同步測試是一些專案中採用開發和測試同步進行的方法,這裡的測試,是功能測試了,是那種使用者的測試。不論開發人員是否提交版本,測試人員一通測試,告訴開發人員,你現在有1千多個bug,你要改啊。然後第二天,你提交了乙個版...