簡體   English   中英

如何在gradle中從測試源引用子項目的成品

[英]How to reference a produced artifact of the sub-project from the test source in gradle

我有一個具有以下結構的Java項目:

 <root>
 |
 +-- src/main/java/...<my_code>
 |    
 +-- src/test/java/...<my_test_code>
 |    
 +-- <mock-artifact1>
 |  |  
 |  +-- src/main/java...
 |
 +-- <mock-artifact2>
 |  |  
 |  +-- src/main/java...

我想從模擬對象1和模擬對象2構建jar,然后在測試的運行時使用這些jar。 我應該如何設置Gradle項目的依賴關系,以便在測試開始之前就已經構建了這些工件? 順便說一句,如何讓gradle不要在根項目中部署這些工件(因為它們僅對於測試是必需的)

為了更好的理解,我要說的是,我正在寫一個字節碼分析器,它將jar文件作為輸入,問題是如何使用Gradle為其編寫測試。

您必須使您的項目具有多模塊結構。

在您的根模塊中添加文件:settings.gradle

include 'mock-artifact1', 'mock-artifact2'

然后在gradle構建文件的根項目中,可以在配置范圍內添加依賴項。 如果您的Java基礎項目帶有“ plugin java”,則可以在依賴項行中添加:

dependencies {
    compile project(':mock-artifact1')
    compile project(':mock-artifact2')
}

或者如果您只想在測試運行時添加:

dependencies {
    testCompile project(':mock-artifact1')
    testCompile project(':mock-artifact2')
}

Gradle配置有點棘手,如果您遇到任何問題,請發給我

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM