maven針對單一class做unit test的方法

這一陣子在研究zeppelin的source code
裏面有一堆的子專案,子專案又有許許多多大大小小的unit test
稍微研究了一下如果今天我想要針對特定class做unit test的時候指令要怎麼下

指令如下

$ mvn  -pl livy,zeppelin-interpreter -DfailIfNoTests=false  -Dtest=LivySQLInterpreterTest -Dcheckstyle.skip clean test 

我想要針對LivySQLInterpreterTest執行unitest
除了最基本的mvn clean test之外,需要而外指定幾個參數

  • -Dtest:想要執行unit test的類別
  • -pl: 要包含哪些子專案,我的情況要針對livy做測試,但是livy會依賴zeppelin-interpreter,所以兩個一起打包
  • -DfailIfNoTests:允許子專案不做測試,因為我沒有針對zeppelin-interpreter執行測試,所以要設定這選項
  • -Dcheckstyle.skip:不做style check

而專案結構不複雜的時候只要指定-Dtest就行了

$ mvn -Dtest=... clean test

以上,做個筆記

comments powered by Disqus