使用maven surefire插件,我可以將forkMode設置爲「永不停止」 - 這樣可以加速1000個單元測試的執行時間,從7分鐘到1:40。爲什麼設置Maven surefire forkMode永遠不會加速我的單元測試?
爲什麼這會產生這樣的差異?
使用maven surefire插件,我可以將forkMode設置爲「永不停止」 - 這樣可以加速1000個單元測試的執行時間,從7分鐘到1:40。爲什麼設置Maven surefire forkMode永遠不會加速我的單元測試?
爲什麼這會產生這樣的差異?
我打開了對maven的調試,很明顯pom引用了一個父pom版本,它爲surefire插件設置了forkMode=always
,覆蓋了默認值。
默認值forkMode
是once
。這意味着surefire會創建一個單獨的JVM來運行測試。似乎在您的構建系統上,創建和清理額外的JVM需要一段時間。