Skip to content

shankybnl/junit-jacoco-example

Repository files navigation

Java gradle project with Junit and JaCoCo example

Pre-requisite: gradle and java is installed on your machine.

  1. Create a gradle project (I used Eclipse IDE)

Image

  1. Inside the project you will see two folders main and test under src folder. Under main you write your development code and under test you write your unit (Junit) tests and integration tests.

Image

  1. Add the below lines of code to your build.gradle file present in the root directory.
apply plugin: "jacoco" 
jacocoTestReport{
    reports {
            xml.enabled false
            csv.enabled false
            html.destination "${buildDir}/jacocoHtml"
    }
}

If Junit dependency is not present then add it:

dependencies {
     testCompile 'junit:junit:4.12'
}
  1. Create a Example.java class under main folder.
public class Example {
	
	 public long someRandomMethod(int a, int b) {
	    	
	    	if (a > 10 && b > 10){
	    		return a+b;
	    	}
	    	else{
	    		return a-b;
	    	}
	       
	    }
}
  1. To verify this method, we will be writing Junit test under test folder with name ExampleTest.java @Test annontation tells Junit that it is a test method to execute.
public class ExampleTest {

    @Test
	public void verifySomeRandomMethod() {
		Example junitTest = new Example();
		junitTest.someRandomMethod(11, 12);
	}
}
  1. Go to the root directory of your project. And execute the below command to execute Junit test.
gradle clean test
  1. Junit results report will be generated /JunitJacocoExample/build/reports/tests/test/classes/ExampleTest.html

Image

  1. To generate code coverage report, execute the below command.
gradle jacocoTestReport
  1. Code coverage report will be generated /JunitJacocoExample/build/jacocoHtml/index.html

Image

Code coverage at class level can be verified by navigating to Example.java

Image

Clone/download the working project from https://github.com/shankybnl/junit-jacoco-example

About

This tutorial is for beginners to set up jacoco in gradle project and get the code coverage of unit tests

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published