|
Size: 333
Comment:
|
← Revision 15 as of 2026-01-23 21:41:31 ⇥
Size: 7520
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| <<TableOfContents(2)>> ## page was renamed from JUnit |
|
| Line 7: | Line 9: |
| * @Before , public void setUp(){} * @Test , public void textAbc(){} * @After , public void tearDown(){} |
* @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 {{{ <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> }}} |
| Line 17: | Line 58: |
== 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 == {{{#!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 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.allowed.bitarus</groupId> <artifactId>junitSample1</artifactId> <version>0.0.1</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project> }}} '''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 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.bitarus</groupId> <artifactId>junitSample2</artifactId> <version>0.0.2</version> <packaging>jar</packaging> <properties> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> </properties> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>6.0.2</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.14</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> }}} === 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 ); } } }}} |
Contents
JUnit
A programmer-oriented testing framework for Java.
Annotations
- @Before , public void setUp(){} // runned before each test
- @Test , public void textAbc(){} // test itself
- @After , public void tearDown(){} // runned before each test
- @Ignore, @Ignore("Not yet implemented")
Imports
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
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
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 }
