0

我配置了2個項目,使用最後一個jacoco版本0.7.8和最後一個Arquillian jacoco擴展(1.0.09Alpha),它的工作原理類似於一個魅力(用於jenkins和sonar 6.2)!但是我有一個更大的項目,當我只啓動Arquillian IT測試時,我的戰爭歸檔被創建並擁有所有類,因此測試可以,當我運行與IT代碼覆蓋率相同的測試時,arquillian歸檔中不包含任何類,並擁有此錯誤:Arquillian + jacoco IT覆蓋範圍

org.jboss.shrinkwrap.api.exporter.ArchiveExportException:無法將資產寫入輸出:/ WEB-INF/... 引起:java.lang.RuntimeException:無法工具資產org.jboss .shrinkwrap.api.asset.ClassLoaderAsset

相同的配置,其他項目BOM的Arquillian 1.1.12Final的Arquillian套件1.1.2容器2.0.2 TestNG的.....

任何幫助嗎?

+0

你試圖縮小包被儀器? –

+0

是的,我嘗試使包括,排除在arquillian.xml和pom.xml中,錯誤是奇怪的,因爲在shrinkwrap類中,它嘗試複製資產,但資產上的getOpenStream指向org.jboss.shrinkwrap.api.asset .ClassLoaderAsset實例...,另外在ArchiveDeploymentClass的getArchive上打印的檔案包含所有類 – cyril

回答

1

終於它是lib錯誤確實庫asm-debug-all版本被省略,因爲其他庫(apache-tika-parsers)已經導入了舊版本(在pom.xml中)...在pom.xml中進行排除解決這個問題,我們可以檢查eclipse中的依賴關係層次結構。

jacoco-的Arquillian擴展使用ASM儀器代碼...

<dependency> 
     <groupId>org.apache.tika</groupId> 
     <artifactId>tika-parsers</artifactId> 
     <version>1.9</version> 
     <scope>${defaultScope}</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>org.bouncycastle</groupId> 
       <artifactId>bcprov-jdk15</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.bouncycastle</groupId> 
       <artifactId>bcmail-jdk15</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.ow2.asm</groupId> 
       <artifactId>asm-debug-all</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency>