Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle Test Dependency

I have two projects, project A and Project B. Both are written in groovy and use gradle as their build system.

Project A requires project B. This holds for both the compile and test code.

How can I configure that the test classes of project A have access to the test classes of project B?

like image 841
Dr. Simon Harrer Avatar asked Feb 28 '11 16:02

Dr. Simon Harrer


People also ask

What is test in Gradle?

Advertisements. The test task automatically detects and executes all the unit tests in the test source set., Once the test execution is complete, it also generates a report. JUnit and TestNG are the supported APIs. The test task provides a Test.

Does Gradle test include build?

Test execution. Gradle executes tests in a separate ('forked') JVM, isolated from the main build process. This prevents classpath pollution and excessive memory consumption for the build process. It also allows you to run the tests with different JVM arguments than the build is using.


1 Answers

You can expose the test classes via a 'tests' configuration and then define a testCompile dependency on that configuration.

I have this block for all java projects, which jars all test code:

task testJar(type: Jar, dependsOn: testClasses) {     baseName = "test-${project.archivesBaseName}"     from sourceSets.test.output }  configurations {     tests }  artifacts {     tests testJar } 

Then when I have test code I want to access between projects I use

dependencies {     testCompile project(path: ':aProject', configuration: 'tests') } 

This is for Java; I'm assuming it should work for groovy as well.

like image 108
David Resnick Avatar answered Oct 13 '22 02:10

David Resnick