![Page 1: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/1.jpg)
Tools and Techniques for Software Testing - Barbara Russo SwSE - Software and Systems Engineering group
1
Unit testing and automation
![Page 2: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/2.jpg)
2
• Eclipse/IntellJ IDEA • JUnit 5-4 • Maven (little)
This lecture tools
![Page 3: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/3.jpg)
3
• Each time you write a code module, you should write test cases for it • A possible exception: accessor methods (i.e.,
getters and setters) • Generally, accessor methods will be written
error-free
Unit testing
![Page 4: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/4.jpg)
4
• It focuses on faults within modules and code that could easily be broken
Unit testing
![Page 5: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/5.jpg)
5
Test with annotation JUnit 4 / 5
Developers: Kent Beck, Erich Gamma, David Saff, Kris Vasudevan
![Page 6: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/6.jpg)
6
• JUnit 5 = Platform + Jupiter + Vintage • Platform launches testing frameworks on the JVM
• It also provides a Console Launcher to launch the platform from the command line and a JUnit 4 based Runner for running any TestEngine on the platform in a JUnit 4 based environment
• Jupiter is new model for writing tests and extensions in JUnit 5 • Jupiter provides a TestEngine for running Jupiter based tests
• Vintage provides a TestEngine for running JUnit 3 and JUnit 4 based tests
JUnit 5
![Page 7: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/7.jpg)
7
• Test annotations characterize methods as test methods
• Annotations are strongly typed, so the compiler will flag any mistakes right away
• Test classes no longer need to extend anything (such as TestCase for JUnit 3)
• One can pass additional parameters to annotations
Annotations
![Page 8: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/8.jpg)
8
• We use JUnit Runners to execute the test methods
• The Runners can be configured in Eclipse • for all project • for a single class • for a single method
Runners
![Page 9: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/9.jpg)
9
• https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations
• all core annotations are located in the org.junit.jupiter.api
JUnit5
![Page 10: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/10.jpg)
10
• We use it to build and test java projects • In particular, it provides
• Dependency list • Unit test reports including coverage
• Maven has a central repository for jar and dependencies • https://maven.apache.org/repository/
Maven
![Page 11: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/11.jpg)
11
• Project's configuration file in Maven • XML structure • It contains the majority of information required
to build and test a project • It contains info on dependencies
The POM
![Page 12: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/12.jpg)
12
Let’s have a look at it
![Page 13: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/13.jpg)
13
• Let’ watch it, step by step https://www.youtube.com/watch?v=sNEcpw8LPpo
and more recent instructions https://www.vogella.com/tutorials/EclipseMaven/
article.html • First create dependencies with JUnit 5 components • Then create your first class and test class named
“App” and “AppUnitTest” in the package “it.unibz”
How to create a Maven project
![Page 14: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/14.jpg)
14
Run Maven
![Page 15: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/15.jpg)
15
• https://mvnrepository.com
• copy and past the Maven XML node in the dependency you selected
• A new dependency in the Maven folder appears
MVN repository
![Page 16: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/16.jpg)
16
• Open Maven dependencies
Maven dependencies
![Page 17: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/17.jpg)
17
• Calculator.java • CalculatorUnitTest.java
Code used
![Page 18: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/18.jpg)
18
public class Calculator {
public int evaluate(String expression) {
int sum = 0;
for (String summand: expression.split("\\+"))
sum += Integer.valueOf(summand);
return sum;
}
}
First example: use @Test
![Page 19: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/19.jpg)
19
import static org.junit.Assert.assertEquals;
import org.junit.Test;
@Test
public void evaluatesExpression() {
Calculator calculator = new Calculator();
int sum = calculator.evaluate("1+2+3");
assertEquals(6, sum);
}
Example HereweareusingthelegacywithJUnit4
OracleorexpectedoutputP/Fcriterion
![Page 20: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/20.jpg)
20
• It tags public method that returns void to run as a test method • JUnit first constructs a new instance of the class
then invokes the annotated method • Any expected exceptions thrown by the test will be
reported as a failure • Any bug is reported as error • If no exceptions/bugs are thrown, the test succeeds
@Test
![Page 21: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/21.jpg)
21
• App.java • AppUnitTest.java
Code used
![Page 22: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/22.jpg)
22
Run with JUnit configuration
![Page 23: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/23.jpg)
23
Run a single test class or method
![Page 24: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/24.jpg)
24
Run it with Maven
![Page 25: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/25.jpg)
25
• you need to set the goal
• -DTest=<className>#<methodNmae> test
• eventually use full path to package: <packageName>.<className>
Run it with Maven
![Page 26: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/26.jpg)
26
• FirstExampleUnitTest.java
Code used
![Page 27: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/27.jpg)
27
• expected and timeout • expected: checks a test method throws the
expected exception • If it does not throw an exception or if it throws a
different exception than the one declared, the test fails (it returns an error)
• If no expected exception parameter and an exception is thrown, the test fails (it returns an error)
Optional parameters of @Test
![Page 28: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/28.jpg)
28
@Test(expected=IndexOutOfBoundsException.class) public void outOfBounds() { new ArrayList<Object>().get(0); }
Example: test succeeds
![Page 29: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/29.jpg)
29
![Page 30: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/30.jpg)
30
• timeout causes a test to fail if it takes longer than a specified amount of clock time (measured in milliseconds)
• The test execution returns a time-out error @Test(timeout=100)
public void infinity() { while(true); }
Optional parameters of @Test
![Page 31: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/31.jpg)
31
• A test fixture is a fixed state of a set of objects used as a baseline for running tests
• JUnit provides annotations so that test classes can have fixture run before or after tests
Test Fixtures
![Page 32: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/32.jpg)
32
• When a test class contains multiple methods to test, you can define two void methods that initialize and release respectively the common objects used in all tests
• You can call them setup() and tearDown()
• Use the tag @BeforeAll and @AfterAll to identify them
Test Fixtures
![Page 33: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/33.jpg)
33
ArrayList<Integer> myList; @BeforeAll public void initialize() { myList= new ArrayList<Integer>(); } @Test public void testSize() { System.out.println(myList+" uses sizeList"); }
Example
![Page 34: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/34.jpg)
34
public class Example { List myList; @BeforeAll public void setUp() { myList= new ArrayList(); } @Test public void testSize() { System.out.println{myList + “it uses sizeList”}; } @Test public void testRemove() { System.out.println{“it uses removeList”}; } }
Example
![Page 35: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/35.jpg)
35
Annotations with JUnit 5
![Page 36: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/36.jpg)
36
• ExampleUnitTestSuite.java • MySecondClassUnitTest.java • MyFirstClassUnitTest.java • Test.java
Code Used
![Page 37: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/37.jpg)
37
• The @SuiteClasses annotation specifies the classes to be executed when a class annotated with @RunWith(Suite.class) is run
@SuiteClasses
![Page 38: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/38.jpg)
38
• Step 1) Create a simple test class (e.g. MyFirstClassTest) and add a method annotated with @Test
• Step 2) Create another test class to add (e.g. MySecondClassTest) and create a method annotated with @Test
Create Test Suite and Test Runner
![Page 39: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/39.jpg)
39
• Step 3) To create a testSuite you need to first annotate the class with @RunWith(Suite.class) and @SuiteClasses(class1.class, class2.class,…)
Create Test Suite and Test Runner
![Page 40: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/40.jpg)
Barbara Russo40
Imports
13/04/16
import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses(ATest.class, BTest.class, CTest.class) public class ABCSuite { }
![Page 41: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/41.jpg)
41
• Step 4) Create a Test Runner class to run the test suite
Test Runner
![Page 42: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/42.jpg)
42
• ParametrizedTestExampleUnitTest.java
Used code
![Page 43: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/43.jpg)
43
• When a class is annotated with @RunWith or extends a class annotated with @RunWith, JUnit will invoke the class it references to run the tests in that class instead of the runner built into JUnit
Annotating a class with @RunWith
![Page 44: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/44.jpg)
44
package it.unibz;
/* * Simple class that uses the Parameterized runner. It runs the test 10 times. * No expected value is foreseen (second entry of Object has length 0). */ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized;
@RunWith(Parameterized.class) public class ParametrizedTestExampleUnitTest {
@Parameterized.Parameters public static Object[ ][ ] data() { return new Object[10][0]; }
public void runTenTimes() {
}
@Test public void runsTenTimesTest() { System.out.println("run"); }
}
Example
![Page 45: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/45.jpg)
45
package it.unibz; /* * Simple rule on how to create a new folder any time the test method is executed */
import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException;
import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; public class RulesUnitTest {
@Rule public TemporaryFolder tempFolder = new TemporaryFolder();
@Test public void testRule() throws IOException { File newFolder = tempFolder.newFolder("Temp Folder"); assertTrue(newFolder.exists()); } }
Rule
![Page 46: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/46.jpg)
46
@Test @DisplayName("Hello World") void test01(){ System.out.println("Test Hello World is Invoked");}
Display name
![Page 47: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/47.jpg)
47
// a method @Test @Disabled("Do not run this test") void test01(){ System.out.println("Hello World"); }
// a test class
@Disabled public class AppTest{ @Test void test01(){ System.out.println("Hello World"); } }
Disable
![Page 48: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/48.jpg)
48
@DisplayName("My Test Name") @RepeatedTest(value = 5, name = "{displayName} - repetition {currentRepetition} of {totalRepetitions}") void addNumber(TestInfo testInfo){ System.out.println(“Hello World”); }
![Page 49: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/49.jpg)
49
• VariousLittleExamplesUnitTest.java
Used code
![Page 50: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/50.jpg)
50
• FooClass.java • Foo1UnitTest.java • FooUnitTest.java
Used code
![Page 51: Unit testing and automation - Free University of Bozen-Bolzanorusso/TTST/05.ModernUnitTesting.pdf · 2020. 11. 3. · Unit testing and automation. 2 • Eclipse/IntellJ IDEA • JUnit](https://reader035.vdocument.in/reader035/viewer/2022062510/611bb635eaeb6a2ae521b330/html5/thumbnails/51.jpg)
51
• Build test suite for class Auction
Exercise