Bei der Arbeit mit Multiprojekt-Builds in Gradle ist es wichtig, effektive Abhängigkeiten zwischen Testcode projektübergreifend herzustellen. Stellen Sie sich ein Szenario vor, in dem Projekt A und Projekt B vorhanden sind und Projekt B auf Komponenten von Projekt A angewiesen ist.
In dieser Situation könnte der build.gradle für Projekt B so aussehen :
<code class="groovy">apply plugin: 'java' dependencies { compile project(':ProjectA') }</code>
Die Aufgabe „compileTestJava“ schlägt jedoch beim Kompilieren von Testcode aus Projekt A fehl. Dies weist auf eine Lücke in der Konfiguration hin, die für den Zugriff auf Testabhängigkeiten aus dem anderen Projekt erforderlich ist.
Um dieses Problem zu beheben, kann build.gradle von Projekt B mit einer testCompile-Abhängigkeit aktualisiert werden:
<code class="groovy">dependencies { ... testCompile project(':A').sourceSets.test.output }</code>
Diese neue Abhängigkeit stellt sicher, dass der Testcode von Projekt B Zugriff auf die kompilierten Testklassen von Projekt A hat . Durch die Verwendung von sourceSets.test.output löst Gradle das Ausgabeverzeichnis auf, in dem Testklassen während des Builds platziert werden.
Diese Konfiguration wurde erfolgreich mit Gradle 1.7 getestet. Bitte beachten Sie, dass für Gradle-Versionen 5.6 und höher eine andere Lösung erforderlich ist und separat dokumentiert wird.
Das obige ist der detaillierte Inhalt vonWie löst man Testabhängigkeiten in Gradle-Konfigurationen mit mehreren Projekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!