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 15 as of 2026-01-23 21:41:31
  • 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> 

OddEven.java

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

TestOddEven.java

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

JUnit6 + JaCoCo - junitSample2

Steps

   1 touch pom.xml
   2 mkdir -p src/main/java/org/bitarus/junitSample2/
   3 mkdir -p src/test/java/org/bitarus/junitSample2/
   4 touch src/main/java/org/bitarus/junitSample2/OddEven.java 
   5 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

   1 // src/main/java/org/bitarus/junitSample2/OddEven.java
   2 package org.bitarus.junitSample2;
   3 
   4 public class OddEven
   5 {
   6   public static boolean isOdd(int value){
   7     if( value % 2 == 0) return false;
   8     else return true; 
   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 }

TestOddEven.java

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