我想並行運行我的集成測試,以便: *每個測試方法由不同的JVM *運行,每使用一個線程運行Maven集成測試
後閱讀the surefire docs我想用的:
mvn test -DforkCount=2 -DreuseForks=false -Dparallel=methods -DthreadCount=1
,但我的測試中出現失敗(當然,只運行mvn test
運行它們按順序不會失敗)
任何我DEA如何實現多進程單線程?
我想並行運行我的集成測試,以便: *每個測試方法由不同的JVM *運行,每使用一個線程運行Maven集成測試
後閱讀the surefire docs我想用的:
mvn test -DforkCount=2 -DreuseForks=false -Dparallel=methods -DthreadCount=1
,但我的測試中出現失敗(當然,只運行mvn test
運行它們按順序不會失敗)
任何我DEA如何實現多進程單線程?
Surefire插件在forkCount
單獨JVM進程執行不同的類,使用每個JVM threadCount
線程和如果parallel=methods
然後每個方法將給出一個線程。換句話說,每個分叉被賦予一個類,每個方法被賦予一個線程。您不能在方法和分叉之間映射。
從Surefire's page, paragraph on combining forkCount and parallel:
然而,可以使用並行=方法:類在forkCount併發進程執行,則每個處理可以使用THREADCOUNT線程並行地執行一個類的方法。
TestNG的在案件以下標註它可以幫助:
@Test(threadPoolSize = 3, invocationCount = 6, timeOut = 1000)
編輯:剛剛看了評論:
你必須讓你的單元測試糾正,然後再加速執行向上。
Offtop:你爲什麼需要這個? – coolguy
我有一些遺留代碼需要改進其性能。而其中一些代碼不是線程安全的,我的城市只有50%的加載。 – Amnon
首先,我會建議理解爲什麼他們失敗的原因,如果這些測試是單元測試,他們應該工作......也許你正在做不乾淨的單元測試更多的集成測試... – khmarbaise