Unit Tests
This page walks you through Drill4J integration for Java-based Unit tests. It will enable you to use such features as Per Test Coverage and Test Recommendations.
#
PrerequisitesThis page assumes you have run core Drill4J Services. For instructions see:
Unit tests launched with either Maven or Gradle
This instruction involves making changes to the Gradle/Maven project build file.
#
Install Drill4J PluginDrill4J CI/CD Integration Plugin allows to enable both Test Agent and App Agent to capture metrics from Unit tests execution. Add following changes to your Gradle/Maven project with unit tests build file to install the Drill4J plugin:
#
Gradleplugins {id("com.epam.drill.integration.cicd") version "0.1.6"}
#
Maven<build><plugins><plugin><groupId>com.epam.drill.integration</groupId><artifactId>drill-maven-plugin</artifactId><version>0.1.6</version><configuration></configuration></plugin></plugins></build>
#
Enable agentsTo enable the agents add the following lines to configuration:
#
GradleAdd drill
section into the bottom of the Gradle build file:
drill {// Set the Drill4J API URL// or set DRILL_API_URL env variableapiUrl = "http://localhost:8090/api"// Set the Drill4J API Key// or set DRILL_API_KEY env variableapiKey = "1_01cdf51ff20544ee..."// Enter appropriate parameter valuesgroupId = "my-group"appId = "my-application"// Specifies the java packages for Drill4J to monitor// Use "/" separator for package name partspackagePrefixes = "my/awesome/application"// Optional, identifies app version built from checked out commitbuildVersion = "1.0.0"enableTestAgent {version = "0.23.3"}enableAppAgent {version = "0.9.4"}}
#
MavenAdd <configuration>
and <executions>
elements to Drill4J plugin in your Maven pom.xml file:
<plugin><groupId>com.epam.drill.integration</groupId><artifactId>drill-maven-plugin</artifactId><version>0.1.6</version><configuration><!-- Set the Drill4J API URL --><!-- or set DRILL_API_URL env variable --><apiUrl>http://localhost:8090/api</apiUrl><!-- Set the Drill4J API Key --><!-- or set DRILL_API_KEY env variable --><apiKey>1_01cdf51ff20544ee...</apiKey><!-- Enter appropriate parameter values --><groupId>my-group</groupId><appId>my-application</appId><!-- Specifies the java packages for Drill4J to monitor --><!-- Use "/" separator for package name parts --><packagePrefixes>my/awesome/application</packagePrefixes><!-- Optional, identifies app version built from checked out commit --><buildVersion>1.0.0</buildVersion><testAgent><version>0.23.3</version></testAgent><appAgent><version>0.9.4</version></appAgent></configuration><executions><execution><goals><goal>enableTestAgent</goal><goal>enableAppAgent</goal></goals></execution></executions></plugin>
#
Run Unit tests- Launch your unit tests with Gradle/Maven (e.g.
gradle test
,mvn test
).
IMPORTANT! When running tests in your IDE, double-check that it's picking up the correct configuration file with the Drill4J test agent added (that will be
build.gradle
for Gradle,pom.xml
for Maven)
- To confirm the agents are working check tests log. There should be Drill4J ASCII logos followed by the agent versions:
That’s it! Open the Metabase UI and confirm that the new test information is coming through. You should see the Test Launches on the Build Summary dashboard.