maven-surefire-plugin小常識

前段時間商品線Hudson上的腳本運行速度非常慢,從命令輸出中發現,每運行一個test都容器啓動、初始化,在葉渡、景升同學的不懈努力排查下終於找到了原因,儘管花費了很長時間,但是我們還是有收穫的,下面和大家分享一下 maven-surefire-plugin 的一些小知識:  

        Maven的surefire插件中fork屬性的配置:  

         Maven運行測試用例時,是通過調用maven的surefire插件並fork一個子進程來執行用例的。forkmode屬性中指明是要爲每個測試創建一個進程,還是所有測試在同一個進程中完成。 

        forkMode 可設置值有 “never”, “once”, “always” 和 “pertest”  

  1. pretest: 每一個測試創建一個新進程,爲每個測試創建新的JVM是單獨測試的最徹底方式,但也是最慢的,不適合hudson上持續迴歸

 

  

      2.   once:在一個進程中進行所有測試。once爲默認設置,在Hudson上持續迴歸時建議使用默認設置  

  

always:在一個進程中並行的運行腳本,Junit4.7以上版本纔可以使用,surefire的版本要在2.6以上,其中 threadCount:執行時,指定可分配的線程數量。只和參數parallel配合使用有效。默認:5 

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章