sakarozone / junit-jacoco-example

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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


Languages

Language:HTML 47.9%Language:JavaScript 46.3%Language:CSS 5.5%Language:Java 0.3%