>
## page was renamed from JUnit
= 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 ==
{{{#!highlight java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.Ignore;
import org.junit.runner.RunWith;
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
{{{
org.apache.maven.plugins
maven-surefire-plugin
**/Test*.java
**/*Test.java
**/*TestCase.java
}}}
== Import methods ==
{{{#!highlight java
import static org.junit.Assert.*;
// ...
assertEquals(...);
}}}
== Maven dependency ==
{{{
junit
junit
4.11
}}}
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 ==
{{{#!highlight bash
cd ~
mkdir junitSample1
cd junitSample1/
nano pom.xml
mkdir -p src/main/java/org/allowed/bitarus/junitSample1
mkdir -p src/test/java/org/allowed/bitarus/junitSample1
nano src/main/java/org/allowed/bitarus/junitSample1/OddEven.java
nano src/test/java/org/allowed/bitarus/junitSample1/TestOddEven.java
mvn clean compile test
mvn -Dtest=TestOddEven#testEven1 test # only run testEven1
}}}
Structure:
{{{
.
|-- pom.xml
|-- src
| |-- main
| | `-- java
| | `-- org
| | `-- allowed
| | `-- bitarus
| | `-- junitSample1
| | `-- OddEven.java
| `-- test
| `-- java
| `-- org
| `-- allowed
| `-- bitarus
| `-- junitSample1
| `-- TestOddEven.java
}}}
'''pom.xml'''
{{{#!highlight xml
4.0.0
org.allowed.bitarus
junitSample1
0.0.1
jar
junit
junit
4.11
test
}}}
'''OddEven.java'''
{{{#!highlight java
// src/main/java/org/allowed/bitarus/junitSample1/OddEven.java
package org.allowed.bitarus.junitSample1;
public class OddEven
{
public static boolean isOdd(int value){
if( value % 2 == 0) return false;
else return true;
}
public static boolean isEven(int value){
//if( value % 2 == 0) return true;
//else return false;
throw new UnsupportedOperationException();
}
}
}}}
'''TestOddEven.java'''
{{{#!highlight java
// src/test/java/org/allowed/bitarus/junitSample1/TestOddEven.java
package org.allowed.bitarus.junitSample1.tests;
import org.allowed.bitarus.junitSample1.OddEven;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
public class TestOddEven{
@Test
public void testOdd1(){
assertEquals( OddEven.isOdd(1) , true );
assertEquals( OddEven.isOdd(4) , false );
}
@Test
public void testEven1(){
assertEquals( OddEven.isEven(4) , true );
assertEquals( OddEven.isEven(1) , false );
}
}
}}}
== JUnit6 + JaCoCo - junitSample2 ==
=== Steps ===
{{{#!highlight sh
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 ===
{{{#!highlight xml
4.0.0
org.bitarus
junitSample2
0.0.2
jar
1.8
1.8
org.junit.jupiter
junit-jupiter-engine
6.0.2
test
org.jacoco
jacoco-maven-plugin
0.8.14
prepare-agent
report
prepare-package
report
}}}
=== OddEven.java ===
{{{#!highlight java
// src/main/java/org/bitarus/junitSample2/OddEven.java
package org.bitarus.junitSample2;
public class OddEven
{
public static boolean isOdd(int value){
if( value % 2 == 0) return false;
else return true;
}
public static boolean isEven(int value){
if( value % 2 == 0) return true;
else return false;
//throw new UnsupportedOperationException();
}
}
}}}
=== TestOddEven.java ===
{{{#!highlight java
// src/test/java/org/bitarus/junitSample2/TestOddEven.java
package org.bitarus.junitSample2.tests;
import org.bitarus.junitSample2.OddEven;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class TestOddEven{
@Test
public void testOdd1(){
assertEquals( OddEven.isOdd(1) , true );
assertEquals( OddEven.isOdd(4) , false );
}
@Test
public void testEven1(){
assertEquals( true, OddEven.isEven(4) );
assertEquals( OddEven.isEven(1) , false );
}
}
}}}