|
Size: 4286
Comment:
|
Size: 7470
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| <<TableOfContents(2)>> | |
| Line 35: | Line 36: |
| 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 54: | Line 71: |
| * 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 |
{{{#!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 }}} |
| Line 152: | Line 170: |
== 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 === {{{#!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 === * src/main/java/org/bitarus/junitSample2/OddEven.java {{{#!highlight 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 === * src/test/java/org/bitarus/junitSample2/TestOddEven.java {{{#!highlight 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>
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 }
