From 8356dc6ba294f932ff4751fb88a78b39863a3cf5 Mon Sep 17 00:00:00 2001 From: Thibault Faure Date: Thu, 25 Jan 2024 22:33:49 +0100 Subject: [PATCH 1/3] BAEL-7503 improvement to JUnit vs TestNG comparison article Use @Disabled and not @Ignore in JUnit5 --- .../com/baeldung/junit5vstestng/SummationServiceUnitTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java index a8c02e9968..955f6e9375 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; public class SummationServiceUnitTest { @@ -43,7 +44,7 @@ public class SummationServiceUnitTest { Assert.assertEquals(6, sum); } - @Ignore + @Disabled @Test public void givenEmptyList_sumEqualsZero_thenCorrect() { int sum = numbers.stream() From c7b8e634a8f87e50f83c63351973ff8b941e0c61 Mon Sep 17 00:00:00 2001 From: Thibault Faure Date: Thu, 25 Jan 2024 22:50:32 +0100 Subject: [PATCH 2/3] Remove useless public identifiers and fix test suite SelectPackagesSuiteUnitTest which did not discover any tests --- .../junit5vstestng/CalculatorUnitTest.java | 4 ++-- .../junit5vstestng/CustomNameUnitTest.java | 2 +- .../junit5vstestng/ParameterizedUnitTest.java | 2 +- .../junit5vstestng/SelectClassesSuiteUnitTest.java | 2 +- .../SelectPackagesSuiteUnitTest.java | 4 ++-- .../junit5vstestng/SummationServiceUnitTest.java | 14 +++++++------- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java index c563b01603..4b7bd54083 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java @@ -4,10 +4,10 @@ import org.junit.Test; import static org.junit.jupiter.api.Assertions.assertThrows; -public class CalculatorUnitTest { +class CalculatorUnitTest { @Test - public void whenDividerIsZero_thenDivideByZeroExceptionIsThrown() { + void whenDividerIsZero_thenDivideByZeroExceptionIsThrown() { Calculator calculator = new Calculator(); assertThrows(DivideByZeroException.class, diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java index 9cf03ad3de..25200aa19f 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -public class CustomNameUnitTest { +class CustomNameUnitTest { @ParameterizedTest @ValueSource(strings = { "Hello", "World" }) diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java index b5560650c4..2815550d66 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java @@ -12,7 +12,7 @@ import org.junit.jupiter.params.provider.EnumSource; import org.junit.jupiter.params.provider.MethodSource; import org.junit.jupiter.params.provider.ValueSource; -public class ParameterizedUnitTest { +class ParameterizedUnitTest { @ParameterizedTest @ValueSource(strings = { "Hello", "World" }) diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java index f307a75274..9c6e995742 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java @@ -5,6 +5,6 @@ import org.junit.platform.suite.api.Suite; @Suite @SelectClasses({Class1UnitTest.class, Class2UnitTest.class}) -public class SelectClassesSuiteUnitTest { +class SelectClassesSuiteUnitTest { } diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java index 088fc00853..acd96e612b 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java @@ -4,7 +4,7 @@ import org.junit.platform.suite.api.SelectPackages; import org.junit.platform.suite.api.Suite; @Suite -@SelectPackages({ "com.baeldung.java.suite.junit4", "com.baeldung.java.suite.junit5" }) -public class SelectPackagesSuiteUnitTest { +@SelectPackages({ "com.baeldung.junit4", "com.baeldung.junit5" }) +class SelectPackagesSuiteUnitTest { } diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java index 955f6e9375..2299c76b83 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java @@ -12,33 +12,33 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -public class SummationServiceUnitTest { +class SummationServiceUnitTest { private static List numbers; @BeforeAll - public static void initialize() { + static void initialize() { numbers = new ArrayList<>(); } @AfterAll - public static void tearDown() { + static void tearDown() { numbers = null; } @BeforeEach - public void runBeforeEachTest() { + void runBeforeEachTest() { numbers.add(1); numbers.add(2); numbers.add(3); } @AfterEach - public void runAfterEachTest() { + void runAfterEachTest() { numbers.clear(); } @Test - public void givenNumbers_sumEquals_thenCorrect() { + void givenNumbers_sumEquals_thenCorrect() { int sum = numbers.stream() .reduce(0, Integer::sum); Assert.assertEquals(6, sum); @@ -46,7 +46,7 @@ public class SummationServiceUnitTest { @Disabled @Test - public void givenEmptyList_sumEqualsZero_thenCorrect() { + void givenEmptyList_sumEqualsZero_thenCorrect() { int sum = numbers.stream() .reduce(0, Integer::sum); Assert.assertEquals(6, sum); From 2284b647ed9a684dd5abf5fbe262299b526ae950 Mon Sep 17 00:00:00 2001 From: Thibault Faure Date: Thu, 25 Jan 2024 23:23:48 +0100 Subject: [PATCH 3/3] BAEL-7503 add example of test ordering in JUnit 5 --- .../junit5vstestng/OrderedUnitTest.java | 25 +++++++++++++++++++ .../junit5vstestng/SortedUnitTest.java | 22 ++++++++++++++++ .../SummationServiceUnitTest.java | 8 +++--- 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/OrderedUnitTest.java create mode 100644 testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SortedUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/OrderedUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/OrderedUnitTest.java new file mode 100644 index 0000000000..7dd37d80ee --- /dev/null +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/OrderedUnitTest.java @@ -0,0 +1,25 @@ +package com.baeldung.junit5vstestng; + +import static org.junit.Assert.assertTrue; + +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +class OrderedUnitTest { + + @Test + @Order(2) + void a_givenString_whenChangedtoInt_thenTrue() { + assertTrue(Integer.valueOf("10") instanceof Integer); + } + + @Test + @Order(1) + void b_givenInt_whenChangedtoString_thenTrue() { + assertTrue(String.valueOf(10) instanceof String); + } + +} diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SortedUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SortedUnitTest.java new file mode 100644 index 0000000000..52312a2627 --- /dev/null +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SortedUnitTest.java @@ -0,0 +1,22 @@ +package com.baeldung.junit5vstestng; + +import static org.junit.Assert.assertTrue; + +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; + +@TestMethodOrder(MethodOrderer.MethodName.class) +class SortedUnitTest { + + @Test + void a_givenString_whenChangedtoInt_thenTrue() { + assertTrue(Integer.valueOf("10") instanceof Integer); + } + + @Test + void b_givenInt_whenChangedtoString_thenTrue() { + assertTrue(String.valueOf(10) instanceof String); + } + +} diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java index 2299c76b83..4e0c71a2d0 100644 --- a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java +++ b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java @@ -19,24 +19,24 @@ class SummationServiceUnitTest { static void initialize() { numbers = new ArrayList<>(); } - + @AfterAll static void tearDown() { numbers = null; } - + @BeforeEach void runBeforeEachTest() { numbers.add(1); numbers.add(2); numbers.add(3); } - + @AfterEach void runAfterEachTest() { numbers.clear(); } - + @Test void givenNumbers_sumEquals_thenCorrect() { int sum = numbers.stream()