2015-06-03 79 views
3

我正在將相當大且複雜的遺留項目遷移到Gradle。 我有很多圖書館項目,其中每個項目都有自己的測試子項目。 項目結構如下所示:Gradle Android - 遺留測試項目結構的測試覆蓋率

- LibraryX 
-- LibraryXTestsOne 
-- LibraryXTestsTwo 
- LibraryY 
-- LibraryYTests 
.... 

每個庫的配置如下:

  1. 主要sourceset包含了所有的庫代碼
  2. 的androidTest sourceset是空

每個測試項目配置如下:

  1. 它列出父庫作爲依賴
  2. 主要sourceset是空
  3. 的androidTest sourceset包含了所有的測試代碼

通過這樣的配置我管理運行與測試:libraryTestsA: connectedAndroidTest,但我無法獲得測試覆蓋範圍的工作。我通過它啓用它

buildTypes{ 
    debug{ testCoverageEnabled true } 
} 

顯然,父庫的類不檢測導致代碼覆蓋率爲零。

有什麼建議嗎?

回答

0

事實證明,您只需將testCoverageEnabled設置爲true就可以測試項目所依賴的所有項目/庫。 這將足以測試你的代碼。

你仍然需要儘管創建一個自定義jacocoReport的任務,因爲在Android插件提供了一個查找類和源項目主要sourceset,這是像我這樣的配置爲空。