結論:我有一個由Maven的故障安全集成測試插件運行的junit測試類,其中有幾個測試可以實現無限並行化。它們針對已部署的雲平臺運行,作爲構建推廣的大門。這些測試中的每個測試在開始時都有一個快速記憶峯值,但其後續使用率非常低,並基本上進行了輪詢,直到動作完成。交錯並行測試在junit開始?
我需要所有的測試並行運行(因爲他們把負載放在一個隊列上,導致縮放操作使作業運行得更快),這很容易實現失效保護,但我還需要錯開內存尖峯開始,所以我不會耗盡內存。
我應該如何完成它們?目前的實現做了一個Thread.sleep(random)
,但仍然有一個體面的統計概率,足夠的重疊可能會導致內存不足。我應該把Semaphore
放在測試課上,然後在@Before
方法中等待嗎?這是我可以使用自定義JUnit跑步者更輕鬆地完成的事情嗎?
我也有這個想法。這肯定會奏效,但我不確定我需要密切關注我的記憶(一次一個)。一次可能有五個左右可能會很好?無論如何,因爲它會起作用,所以有一個upvote。 –