我調用傳遞參數的方法。如果這個參數等於某個特定值,那麼一個線程會重複執行一些操作,直到它停止。在每一次重複中,一些值都會改變。
有沒有辦法從JUnit檢查這些值?JUnit測試:如何測試線程的結果
回答
如果你正在產生線程,你不再是單元測試 - 你是集成測試。重構你的代碼,以便改變這個'值'的邏輯可以在沒有線程產生的情況下被測試。如果它在沒有產生線程的情況下工作,那麼它會在產生線程時工作(我知道我已經爲自己設置了一個講座...您需要確保您正確地同步任何可能共享的變量,而不要有任何可能導致死鎖的代碼)。
沒有看到代碼,很難嘗試建議測試它的方法。但是,如果您正在產生線程,則絕對不是單元測試。
我想說,需要一個'tick()'方法來封裝單個重複並對其進行單元測試。如果它返回那些「一些值」而不是改變對象的字段,那麼測試(和整體解耦)就更好了。 – 2012-01-06 13:00:50
@Victor同意,這是更好的線程行爲封裝。不過,我希望整個行爲單元在我開始勾選' – BeRecursive 2012-01-06 13:02:02
之前進行測試。對不起,沒有提供任何代碼。這是我大學項目的一部分,我恐怕我不能這樣做。我知道我的代碼是可以工作的,但是因爲我必須在項目中包含一些JUit測試,所以我想知道是否有任何方法來測試這部分代碼。我創建一個線程,線程以指定的時間間隔重複。所以,我無法像使用JUnit那樣測試它。謝謝! :) – anna 2012-01-06 13:35:29
如果您試圖測試以確定每個迭代是否適當地修改了這些值,則使用期望的輸入調用迭代代碼並測試預期的輸出。測試每個peice的隔離:
僞Java代碼:
for each (file : files) {
doSomething(file); // this updates some running totals or something
}
然後你想要寫一些單元測試,你要測試,看看每個輸入打電話給你doSomething()
如果值更新適當的(模擬哪裏必要)。然後做一個集成測試,讓線程產生並檢查結果值。
- 1. JUnit線程測試
- 2. junit tfs測試結果
- 3. 如何測試junit測試
- 4. 程序的JUnit測試結果
- 5. 如何分析junit測試結果
- 6. 如何從測試運行器獲取JUnit測試結果?
- 7. 使用Junit測試線程
- 8. JUnit,測試和線程
- 9. 結束JUnit測試
- 10. 測試完成後生成Android JUnit測試用例的結果
- 11. 查看gradle的junit測試結果?
- 12. JUnit測試用例中的線程測試SharedResource類
- 13. Maven.surefire.util.SurefireReflectionException當測試Junit測試
- 14. 瞭解這些JUnit測試結果
- 15. 從junit測試中獲取結果
- 16. 有線JUnit測試斷言
- 17. 的JUnit:測試
- 18. Android Junit測試凍結
- 19. Hibernate + JUnit多線程集成測試
- 20. 如何將JUnit 4測試添加到JUnit 3測試套件
- 21. 如何在JUnit測試
- 22. 如何Junit測試servlet-filters
- 23. 如何編寫JUnit測試?
- 24. 如何做jUnit測試
- 25. 如何打包JUnit測試
- 26. 如何JUnit測試IntentService
- 27. 如何測試junit語句?
- 28. JUnit如何找到測試?
- 29. Hangman JUnit測試
- 30. spring junit測試
讓我們看看一些代碼。 – dan 2012-01-06 12:52:22