emma-maven-plugin的開發人員認為,被instrumented過的test class不等同於原來的test class,可能會造成原來test不會通過,但在emma處理後而可以通過,或是反過來的情形發生。所以在pom中如果同時加上emma-maven-plugin與maven-surefire-plugin,就會跑兩次的unit test。
如果可以接受被emma instrumented過的test class可以代表原來的test class,那解決的方式就還蠻容易的,簡單說, 就是讓surefire執行被instrumented過的test class,但是要求emma在test或site之類的phase不做事。
設定如下
org.sonatype.maven.plugin emma-maven-plugin 1.2 instrument process-classes instrument test test true site site true org.apache.maven.plugins maven-surefire-plugin 2.8 true once xml ${project.build.directory}/generated-classes/emma/classes
Report的部份不用特別修改
org.sonatype.maven.plugin emma-maven-plugin 1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.8
沒有留言:
張貼留言