MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 14 as of 2026-01-23 21:37:33
  • Java
  • JUnit

Contents

  1. JUnit
    1. Annotations
    2. Imports
    3. Inclusion classes
    4. Import methods
    5. Maven dependency
    6. Sample project junitSample1
    7. JUnit6 + JaCoCo - junitSample2

JUnit

A programmer-oriented testing framework for Java.

http://junit.org/

Annotations

  • @Before , public void setUp(){} // runned before each test
  • @Test , public void textAbc(){} // test itself
  • @After , public void tearDown(){} // runned before each test
  • @BeforeClass

  • @AfterClass

  • @Ignore, @Ignore("Not yet implemented")

Imports

   1 import static org.junit.Assert.assertEquals;
   2 import org.junit.Test;
   3 import org.junit.Ignore;
   4 import org.junit.runner.RunWith;
   5 import org.junit.runners.JUnit4;

Inclusion classes

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

By default, the Surefire Plugin will automatically include all test classes with the following wildcard patterns:

"**/Test*.java" - includes all of its subdirectories and all java filenames that start with "Test".
"**/*Test.java" - includes all of its subdirectories and all java filenames that end with "Test".
"**/*TestCase.java" - includes all of its subdirectories and all java filenames that end with "TestCase".

Plugin configuration in pom.xml

                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                <configuration>
                                        <includes>
                                                <include>**/Test*.java</include>
                                                <include>**/*Test.java</include>
                                                <include>**/*TestCase.java</include>
                                        </includes>
                                </configuration>
                        </plugin>

Import methods

   1  import static org.junit.Assert.*;
   2   //  ...
   3   assertEquals(...);

Maven dependency

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>  

On a Maven project the tests may be located inside /src/test/java/ so they are integrated in the main artifact generated by Maven.

Sample project junitSample1

   1 cd ~
   2 mkdir junitSample1
   3 cd junitSample1/
   4 nano pom.xml
   5 mkdir -p src/main/java/org/allowed/bitarus/junitSample1
   6 mkdir -p src/test/java/org/allowed/bitarus/junitSample1
   7 nano src/main/java/org/allowed/bitarus/junitSample1/OddEven.java
   8 nano src/test/java/org/allowed/bitarus/junitSample1/TestOddEven.java
   9 mvn clean compile test
  10 mvn -Dtest=TestOddEven#testEven1 test # only run testEven1
  11 

Structure:

.
|-- pom.xml
|-- src
|   |-- main
|   |   `-- java
|   |       `-- org
|   |           `-- allowed
|   |               `-- bitarus
|   |                   `-- junitSample1
|   |                       `-- OddEven.java
|   `-- test
|       `-- java
|           `-- org
|               `-- allowed
|                   `-- bitarus
|                       `-- junitSample1
|                           `-- TestOddEven.java

pom.xml

   1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   3   <modelVersion>4.0.0</modelVersion>
   4   <groupId>org.allowed.bitarus</groupId>
   5   <artifactId>junitSample1</artifactId>
   6   <version>0.0.1</version>
   7   <packaging>jar</packaging>
   8   <dependencies>
   9     <dependency>
  10       <groupId>junit</groupId>
  11       <artifactId>junit</artifactId>
  12       <version>4.11</version>
  13       <scope>test</scope>
  14     </dependency> 
  15   </dependencies>
  16 </project> 

src/main/java/org/allowed/bitarus/junitSample1/OddEven.java

   1 package org.allowed.bitarus.junitSample1;
   2 
   3 public class OddEven
   4 {
   5   public static boolean isOdd(int value){
   6     if( value % 2 == 0) return false;
   7     else return true; 
   8     
   9   }
  10 
  11   public static boolean isEven(int value){
  12     //if( value % 2 == 0) return true;
  13     //else return false; 
  14     throw new UnsupportedOperationException();
  15   }
  16 }

src/test/java/org/allowed/bitarus/junitSample1/TestOddEven.java

   1 package org.allowed.bitarus.junitSample1.tests;
   2 import org.allowed.bitarus.junitSample1.OddEven;
   3 
   4 import static org.junit.Assert.assertEquals;
   5 import org.junit.Test;
   6 import org.junit.Ignore;
   7 import org.junit.runner.RunWith;
   8 import org.junit.runners.JUnit4;
   9 
  10 public class TestOddEven{
  11     @Test
  12     public void testOdd1(){
  13         assertEquals( OddEven.isOdd(1) , true );
  14         assertEquals( OddEven.isOdd(4) , false );
  15     }
  16 
  17     @Test
  18     public void testEven1(){
  19         assertEquals( OddEven.isEven(4) , true );
  20         assertEquals( OddEven.isEven(1) , false );
  21     }
  22 
  23 }

JUnit6 + JaCoCo - junitSample2

Steps

touch pom.xml
mkdir -p src/main/java/org/bitarus/junitSample2/
mkdir -p src/test/java/org/bitarus/junitSample2/
touch src/main/java/org/bitarus/junitSample2/OddEven.java 
touch src/test/java/org/bitarus/junitSample2/TestOddEven.java

pom.xml

   1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   3   <modelVersion>4.0.0</modelVersion>
   4   <groupId>org.bitarus</groupId>
   5   <artifactId>junitSample2</artifactId>
   6   <version>0.0.2</version>
   7   <packaging>jar</packaging>
   8   <properties>
   9     <maven.compiler.target>1.8</maven.compiler.target>
  10     <maven.compiler.source>1.8</maven.compiler.source>
  11   </properties>
  12   <dependencies>
  13     <dependency>
  14       <groupId>org.junit.jupiter</groupId>
  15       <artifactId>junit-jupiter-engine</artifactId>
  16       <version>6.0.2</version>
  17       <scope>test</scope>
  18     </dependency>
  19   </dependencies>
  20   <build>
  21     <plugins>
  22       <plugin>
  23         <groupId>org.jacoco</groupId>
  24         <artifactId>jacoco-maven-plugin</artifactId>
  25         <version>0.8.14</version>
  26         <executions>
  27           <execution>
  28             <goals>
  29                 <goal>prepare-agent</goal>
  30             </goals>
  31           </execution>
  32           <execution>
  33             <id>report</id>
  34             <phase>prepare-package</phase>
  35             <goals>
  36                 <goal>report</goal>
  37             </goals>
  38           </execution>
  39         </executions>
  40       </plugin>
  41     </plugins>
  42   </build>
  43 </project> 

OddEven.java

  • src/main/java/org/bitarus/junitSample2/OddEven.java

   1 package org.bitarus.junitSample2;
   2 
   3 public class OddEven
   4 {
   5   public static boolean isOdd(int value){
   6     if( value % 2 == 0) return false;
   7     else return true; 
   8   }
   9 
  10   public static boolean isEven(int value){
  11     if( value % 2 == 0) return true;
  12     else return false; 
  13     //throw new UnsupportedOperationException();
  14   }
  15 }

TestOddEven.java

  • src/test/java/org/bitarus/junitSample2/TestOddEven.java

   1 package org.bitarus.junitSample2.tests;
   2 import org.bitarus.junitSample2.OddEven;
   3 
   4 import static org.junit.jupiter.api.Assertions.assertEquals;
   5 import org.junit.jupiter.api.Test;
   6 
   7 public class TestOddEven{
   8     @Test
   9     public void testOdd1(){
  10         assertEquals( OddEven.isOdd(1) , true );
  11         assertEquals( OddEven.isOdd(4) , false );
  12     }
  13 
  14     @Test
  15     public void testEven1(){
  16         assertEquals( true, OddEven.isEven(4)  );
  17         assertEquals( OddEven.isEven(1) , false );
  18     }
  19 }
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01