From 6c282a742ce71e04513f1a2c6d560754a7acd854 Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Sat, 18 Feb 2017 07:31:10 +0100 Subject: [PATCH 1/2] BAEL-639: Fixing failing test --- .../DivisibilityTest.java | 4 +- .../MyParameterisedUnitTest.java | 28 +---- .../StringCaseTest.java | 2 +- .../SuiteTest.java | 2 +- .../SummationServiceTest.java | 9 +- .../src/test/resources/parameterised_test.xml | 10 -- core-java/src/test/resources/test_group.xml | 13 --- core-java/src/test/resources/test_suite.xml | 9 -- pom.xml | 1 + testng/pom.xml | 109 ++++++++++++++++++ .../java/baeldung/com}/DependentTests.java | 10 +- .../baeldung/com/ParametrizedTestNGTest.java | 36 ++---- .../java/baeldung/com}/RegistrationTest.java | 2 +- .../test/java/baeldung/com}/SignInTest.java | 2 +- .../baeldung/com/SummationServiceTest.java | 49 ++++---- .../src/test/java/baeldung/com/TestGroup.java | 44 +++++++ .../test/java/baeldung/com}/TimeOutTest.java | 6 +- testng/src/test/resources/logback.xml | 14 +++ .../src/test/resources/parameterised_test.xml | 17 +++ testng/src/test/resources/test_group.xml | 13 +++ testng/src/test/resources/test_suite.xml | 9 ++ 21 files changed, 265 insertions(+), 124 deletions(-) rename core-java/src/test/java/com/baeldung/{test/comparison => junit4vstestng}/DivisibilityTest.java (74%) rename core-java/src/test/java/com/baeldung/{test/comparison => junit4vstestng}/MyParameterisedUnitTest.java (59%) rename core-java/src/test/java/com/baeldung/{test/comparison => junit4vstestng}/StringCaseTest.java (90%) rename core-java/src/test/java/com/baeldung/{test/comparison => junit4vstestng}/SuiteTest.java (83%) rename core-java/src/test/java/com/baeldung/{test/comparison => junit4vstestng}/SummationServiceTest.java (94%) delete mode 100644 core-java/src/test/resources/parameterised_test.xml delete mode 100644 core-java/src/test/resources/test_group.xml delete mode 100644 core-java/src/test/resources/test_suite.xml create mode 100644 testng/pom.xml rename {core-java/src/test/java/com/baeldung/test/comparison => testng/src/test/java/baeldung/com}/DependentTests.java (82%) rename core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTestNg.java => testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java (51%) rename {core-java/src/test/java/com/baeldung/test/comparison => testng/src/test/java/baeldung/com}/RegistrationTest.java (78%) rename {core-java/src/test/java/com/baeldung/test/comparison => testng/src/test/java/baeldung/com}/SignInTest.java (78%) rename core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTestTestNg.java => testng/src/test/java/baeldung/com/SummationServiceTest.java (79%) create mode 100644 testng/src/test/java/baeldung/com/TestGroup.java rename {core-java/src/test/java/com/baeldung/test/comparison => testng/src/test/java/baeldung/com}/TimeOutTest.java (70%) create mode 100644 testng/src/test/resources/logback.xml create mode 100644 testng/src/test/resources/parameterised_test.xml create mode 100644 testng/src/test/resources/test_group.xml create mode 100644 testng/src/test/resources/test_suite.xml diff --git a/core-java/src/test/java/com/baeldung/test/comparison/DivisibilityTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/DivisibilityTest.java similarity index 74% rename from core-java/src/test/java/com/baeldung/test/comparison/DivisibilityTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/DivisibilityTest.java index 9ae13f5934..dec7dbe6aa 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/DivisibilityTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/DivisibilityTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package com.baeldung.junit4vstestng; import static org.junit.Assert.assertEquals; @@ -15,7 +15,7 @@ public class DivisibilityTest { } @Test - public void givenNumber_whenDivisiblebyTwo_thenCorrect() { + public void givenNumber_whenDivisibleByTwo_thenCorrect() { assertEquals(number % 2, 0); } } diff --git a/core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java similarity index 59% rename from core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java index 3372bbb577..95f9274af3 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java @@ -1,7 +1,4 @@ -package com.baeldung.test.comparison; - -import java.util.Arrays; -import java.util.Collection; +package com.baeldung.junit4vstestng; import org.junit.Assert; import org.junit.Before; @@ -10,16 +7,13 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import java.util.Arrays; +import java.util.Collection; + @RunWith(value = Parameterized.class) public class MyParameterisedUnitTest { private String name; - private NameCheck nameCheck; - - @Before - public void initialSetup() { - nameCheck = new NameCheck(); - } public MyParameterisedUnitTest(String myName) { this.name = myName; @@ -27,23 +21,13 @@ public class MyParameterisedUnitTest { @Parameters public static Collection data() { - Object[][] data = new Object[][] { { "Peter" }, { "Sam" }, { "Tim" }, { "Lucy" } }; + Object[][] data = new Object[][]{{"Peter"}, {"Sam"}, {"Tim"}, {"Lucy"}}; return Arrays.asList(data); } @Test public void givenName_whenValidLength_thenTrue() { - boolean valid = nameCheck.nameCheck(name); + boolean valid = name.length() > 0; Assert.assertEquals(valid, true); } } - -class NameCheck { - - public boolean nameCheck(String name) { - if (name.length() > 0) - return true; - return false; - } - -} diff --git a/core-java/src/test/java/com/baeldung/test/comparison/StringCaseTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/StringCaseTest.java similarity index 90% rename from core-java/src/test/java/com/baeldung/test/comparison/StringCaseTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/StringCaseTest.java index b4226b82e7..520017e4c1 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/StringCaseTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/StringCaseTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package com.baeldung.junit4vstestng; import static org.junit.Assert.assertEquals; diff --git a/core-java/src/test/java/com/baeldung/test/comparison/SuiteTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java similarity index 83% rename from core-java/src/test/java/com/baeldung/test/comparison/SuiteTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java index a30e5d312a..3d6d6cbbfb 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/SuiteTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package com.baeldung.junit4vstestng; import org.junit.runner.RunWith; import org.junit.runners.Suite; diff --git a/core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/SummationServiceTest.java similarity index 94% rename from core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/SummationServiceTest.java index b76a87c0fe..7d1bf3b7af 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/SummationServiceTest.java @@ -1,8 +1,4 @@ -package com.baeldung.test.comparison; - -import java.security.Security; -import java.util.ArrayList; -import java.util.List; +package com.baeldung.junit4vstestng; import org.junit.After; import org.junit.AfterClass; @@ -12,6 +8,9 @@ import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; + public class SummationServiceTest { private static List numbers; diff --git a/core-java/src/test/resources/parameterised_test.xml b/core-java/src/test/resources/parameterised_test.xml deleted file mode 100644 index 69a2c60460..0000000000 --- a/core-java/src/test/resources/parameterised_test.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/core-java/src/test/resources/test_group.xml b/core-java/src/test/resources/test_group.xml deleted file mode 100644 index 0c9a6c73df..0000000000 --- a/core-java/src/test/resources/test_group.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/core-java/src/test/resources/test_suite.xml b/core-java/src/test/resources/test_suite.xml deleted file mode 100644 index 36305aa5fc..0000000000 --- a/core-java/src/test/resources/test_suite.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index ecb07e987b..eb89b9cbaa 100644 --- a/pom.xml +++ b/pom.xml @@ -194,6 +194,7 @@ struts2 apache-velocity + testng diff --git a/testng/pom.xml b/testng/pom.xml new file mode 100644 index 0000000000..02f51d4d99 --- /dev/null +++ b/testng/pom.xml @@ -0,0 +1,109 @@ + + + 4.0.0 + com.baeldung + testng + 0.1.0-SNAPSHOT + jar + testng + + + + + + + org.slf4j + slf4j-api + ${org.slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + + + + org.testng + testng + ${testng.version} + test + + + + + + testng + + + src/main/resources + true + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + 1.8 + 1.8 + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + **/*IntegrationTest.java + **/*LongRunningUnitTest.java + **/*ManualTest.java + + true + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + prepare-package + + copy-dependencies + + + ${project.build.directory}/libs + + + + + + + + + + + + 1.7.21 + 1.1.7 + + + 6.10 + + + 3.6.0 + 2.19.1 + + + + + \ No newline at end of file diff --git a/core-java/src/test/java/com/baeldung/test/comparison/DependentTests.java b/testng/src/test/java/baeldung/com/DependentTests.java similarity index 82% rename from core-java/src/test/java/com/baeldung/test/comparison/DependentTests.java rename to testng/src/test/java/baeldung/com/DependentTests.java index 3ef4949067..ab593e0439 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/DependentTests.java +++ b/testng/src/test/java/baeldung/com/DependentTests.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package baeldung.com; import org.testng.Assert; import org.testng.annotations.BeforeClass; @@ -6,9 +6,9 @@ import org.testng.annotations.Test; public class DependentTests { + private String validEmail = "abc@qwe.com"; private EmailValidator emailValidator; private LoginValidator loginValidator; - private String validEmail = "abc@qwe.com"; @BeforeClass public void setup() { @@ -23,7 +23,7 @@ public class DependentTests { } @Test(dependsOnMethods = { "givenEmail_ifValid_thenTrue" }) - public void givenValidEmail_whenLoggedin_thenTrue() { + public void givenValidEmail_whenLoggedIn_thenTrue() { boolean valid = loginValidator.validate(); Assert.assertEquals(valid, true); } @@ -31,7 +31,7 @@ public class DependentTests { class EmailValidator { - public boolean validate(String validEmail) { + boolean validate(String validEmail) { return true; } @@ -39,7 +39,7 @@ class EmailValidator { class LoginValidator { - public boolean validate() { + boolean validate() { return true; } diff --git a/core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTestNg.java b/testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java similarity index 51% rename from core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTestNg.java rename to testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java index 4096c3fb6f..e4f3aacf5b 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/MyParameterisedUnitTestNg.java +++ b/testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package baeldung.com; import org.testng.Assert; import org.testng.annotations.BeforeClass; @@ -6,29 +6,22 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Parameters; import org.testng.annotations.Test; -public class MyParameterisedUnitTestNg { +public class ParametrizedTestNGTest { - private PrimeNumberCheck primeNumberChecker; - - @BeforeClass - public void intialSetup() { - primeNumberChecker = new PrimeNumberCheck(); - } - - @Test(enabled = false) - @Parameters({ "num", "expectedResult" }) - public void givenNumber_ifPrime_thenCorrect(int number, boolean expectedResult) { - Assert.assertEquals(expectedResult, primeNumberChecker.validate(number)); + @Test + @Parameters({ "name", "expectedResult" }) + public void givenNumber_ifPrime_thenCorrect(String name, boolean expectedResult) { + Assert.assertEquals(expectedResult, name.length() > 0); } @DataProvider(name = "test1") public static Object[][] primeNumbers() { - return new Object[][] { { 2, true }, { 6, false }, { 19, true }, { 22, false }, { 23, true } }; + return new Object[][] { { "Peter", true }, { "Sam", true }, { "Tim", true }, { "Lucy", true } }; } @Test(dataProvider = "test1") - public void givenNumber_whenPrime_thenCorrect(Integer inputNumber, Boolean expectedResult) { - Assert.assertEquals(expectedResult, primeNumberChecker.validate(inputNumber)); + public void givenNumber_whenPrime_thenCorrect(String name, boolean expectedResult) { + Assert.assertEquals(expectedResult, name.length() > 0); } @Test(dataProvider = "myDataProvider") @@ -47,17 +40,6 @@ public class MyParameterisedUnitTestNg { } -class PrimeNumberCheck { - - public Object validate(int number) { - for (int i = 2; i < number; i++) { - if (number % i == 0) - return false; - } - return true; - } - -} class User { private String name; diff --git a/core-java/src/test/java/com/baeldung/test/comparison/RegistrationTest.java b/testng/src/test/java/baeldung/com/RegistrationTest.java similarity index 78% rename from core-java/src/test/java/com/baeldung/test/comparison/RegistrationTest.java rename to testng/src/test/java/baeldung/com/RegistrationTest.java index 86836425a9..7cb17c9cb8 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/RegistrationTest.java +++ b/testng/src/test/java/baeldung/com/RegistrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package baeldung.com; import org.testng.annotations.Test; diff --git a/core-java/src/test/java/com/baeldung/test/comparison/SignInTest.java b/testng/src/test/java/baeldung/com/SignInTest.java similarity index 78% rename from core-java/src/test/java/com/baeldung/test/comparison/SignInTest.java rename to testng/src/test/java/baeldung/com/SignInTest.java index 9669f60b6b..4884154345 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/SignInTest.java +++ b/testng/src/test/java/baeldung/com/SignInTest.java @@ -1,4 +1,4 @@ -package com.baeldung.test.comparison; +package baeldung.com; import org.testng.annotations.Test; diff --git a/core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTestTestNg.java b/testng/src/test/java/baeldung/com/SummationServiceTest.java similarity index 79% rename from core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTestTestNg.java rename to testng/src/test/java/baeldung/com/SummationServiceTest.java index fb02f28d06..471d7a7c8a 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/SummationServiceTestTestNg.java +++ b/testng/src/test/java/baeldung/com/SummationServiceTest.java @@ -1,19 +1,13 @@ -package com.baeldung.test.comparison; +package baeldung.com; + +import org.testng.Assert; +import org.testng.TestNG; +import org.testng.annotations.*; import java.util.ArrayList; import java.util.List; -import org.testng.Assert; -import org.testng.TestNG; -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterGroups; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeGroups; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -public class SummationServiceTestTestNg extends TestNG { +public class SummationServiceTest extends TestNG { private List numbers; @@ -29,14 +23,16 @@ public class SummationServiceTestTestNg extends TestNG { numbers = null; } - @BeforeMethod - public void runBeforeEachTest() { - testCount++; + @BeforeSuite(groups = "regression") + public void runBeforeRegressionSuite() { + numbers = new ArrayList<>(); + numbers.add(-11); + numbers.add(2); } - @AfterMethod - public void runAfterEachTest() { - + @AfterSuite(groups = "regression") + public void runAfterRegressionSuite() { + numbers = null; } @BeforeGroups("negative_tests") @@ -62,6 +58,17 @@ public class SummationServiceTestTestNg extends TestNG { numbers.clear(); } + @BeforeMethod + public void runBeforeEachTest() { + testCount++; + } + + @AfterMethod + public void runAfterEachTest() { + + } + + @Test(groups = "positive_tests", enabled = false) public void givenNumbers_sumEquals_thenCorrect() { int sum = numbers.stream().reduce(0, Integer::sum); @@ -78,12 +85,6 @@ public class SummationServiceTestTestNg extends TestNG { public void givenNegativeNumber_sumLessthanZero_thenCorrect() { int sum = numbers.stream().reduce(0, Integer::sum); Assert.assertTrue(sum < 0); - ; - } - - @Test(groups = "sanity") - public void givenNumbers_doSum() { - } @Test(expectedExceptions = ArithmeticException.class) diff --git a/testng/src/test/java/baeldung/com/TestGroup.java b/testng/src/test/java/baeldung/com/TestGroup.java new file mode 100644 index 0000000000..08bb5c996e --- /dev/null +++ b/testng/src/test/java/baeldung/com/TestGroup.java @@ -0,0 +1,44 @@ +package baeldung.com; + +import org.testng.annotations.AfterGroups; +import org.testng.annotations.BeforeGroups; +import org.testng.annotations.Test; + +public class TestGroup { + + @BeforeGroups("database") + public void setupDB() { + System.out.println("setupDB()"); + } + + @AfterGroups("database") + public void cleanDB() { + System.out.println("cleanDB()"); + } + + @Test(groups= "selenium-test") + public void runSelenium() { + System.out.println("runSelenium()"); + } + + @Test(groups= "selenium-test") + public void runSelenium1() { + System.out.println("runSelenium()1"); + } + + @Test(groups = "database") + public void testConnectOracle() { + System.out.println("testConnectOracle()"); + } + + @Test(groups = "database") + public void testConnectMsSQL() { + System.out.println("testConnectMsSQL"); + } + + @Test(dependsOnGroups = {"database","selenium-test"}) + public void runFinal() { + System.out.println("runFinal"); + } + +} \ No newline at end of file diff --git a/core-java/src/test/java/com/baeldung/test/comparison/TimeOutTest.java b/testng/src/test/java/baeldung/com/TimeOutTest.java similarity index 70% rename from core-java/src/test/java/com/baeldung/test/comparison/TimeOutTest.java rename to testng/src/test/java/baeldung/com/TimeOutTest.java index 6e06132009..d54a914e08 100644 --- a/core-java/src/test/java/com/baeldung/test/comparison/TimeOutTest.java +++ b/testng/src/test/java/baeldung/com/TimeOutTest.java @@ -1,11 +1,11 @@ -package com.baeldung.test.comparison; +package baeldung.com; import org.testng.annotations.Test; public class TimeOutTest { + @Test(timeOut = 1000, enabled = false) public void givenExecution_takeMoreTime_thenFail() { - while (true) - ; + while (true) ; } } diff --git a/testng/src/test/resources/logback.xml b/testng/src/test/resources/logback.xml new file mode 100644 index 0000000000..e9ae1894a6 --- /dev/null +++ b/testng/src/test/resources/logback.xml @@ -0,0 +1,14 @@ + + + + + web - %date [%thread] %-5level %logger{36} - %message%n + + + + + + + + + \ No newline at end of file diff --git a/testng/src/test/resources/parameterised_test.xml b/testng/src/test/resources/parameterised_test.xml new file mode 100644 index 0000000000..2381ba67d0 --- /dev/null +++ b/testng/src/test/resources/parameterised_test.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testng/src/test/resources/test_group.xml b/testng/src/test/resources/test_group.xml new file mode 100644 index 0000000000..d636a4174d --- /dev/null +++ b/testng/src/test/resources/test_group.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/testng/src/test/resources/test_suite.xml b/testng/src/test/resources/test_suite.xml new file mode 100644 index 0000000000..201ed3f645 --- /dev/null +++ b/testng/src/test/resources/test_suite.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From 333953b204e473c06b7c86c72a164538e51f60e6 Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Sat, 18 Feb 2017 22:56:41 +0100 Subject: [PATCH 2/2] BAEL-183 - refactoring and moving testng to dedicated module --- ...edUnitTest.java => ParametrizedTests.java} | 17 ++-- .../junit4vstestng/RegistrationTest.java | 15 ++++ .../baeldung/junit4vstestng/SignInTest.java | 14 ++++ .../baeldung/junit4vstestng/SuiteTest.java | 2 +- pom.xml | 3 +- testng/pom.xml | 6 ++ .../java/baeldung/com/DependentTests.java | 35 ++------- .../baeldung/com/ParametrizedTestNGTest.java | 63 --------------- .../java/baeldung/com/ParametrizedTests.java | 77 +++++++++++++++++++ .../java/baeldung/com/RegistrationTest.java | 7 +- .../test/java/baeldung/com/SignInTest.java | 8 +- .../baeldung/com/SummationServiceTest.java | 3 + .../src/test/resources/parameterised_test.xml | 17 ---- .../src/test/resources/parametrized_test.xml | 10 +++ testng/src/test/resources/test_group.xml | 2 +- testng/src/test/resources/test_setup.xml | 17 ++++ testng/src/test/resources/test_suite.xml | 2 +- 17 files changed, 172 insertions(+), 126 deletions(-) rename core-java/src/test/java/com/baeldung/junit4vstestng/{MyParameterisedUnitTest.java => ParametrizedTests.java} (53%) create mode 100644 core-java/src/test/java/com/baeldung/junit4vstestng/RegistrationTest.java create mode 100644 core-java/src/test/java/com/baeldung/junit4vstestng/SignInTest.java delete mode 100644 testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java create mode 100644 testng/src/test/java/baeldung/com/ParametrizedTests.java delete mode 100644 testng/src/test/resources/parameterised_test.xml create mode 100644 testng/src/test/resources/parametrized_test.xml create mode 100644 testng/src/test/resources/test_setup.xml diff --git a/core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/ParametrizedTests.java similarity index 53% rename from core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java rename to core-java/src/test/java/com/baeldung/junit4vstestng/ParametrizedTests.java index 95f9274af3..e9a9c6a07a 100644 --- a/core-java/src/test/java/com/baeldung/junit4vstestng/MyParameterisedUnitTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/ParametrizedTests.java @@ -11,23 +11,24 @@ import java.util.Arrays; import java.util.Collection; @RunWith(value = Parameterized.class) -public class MyParameterisedUnitTest { +public class ParametrizedTests { - private String name; + private int value; + private boolean isEven; - public MyParameterisedUnitTest(String myName) { - this.name = myName; + public ParametrizedTests(int value, boolean isEven) { + this.value = value; + this.isEven = isEven; } @Parameters public static Collection data() { - Object[][] data = new Object[][]{{"Peter"}, {"Sam"}, {"Tim"}, {"Lucy"}}; + Object[][] data = new Object[][]{{1, false}, {2, true}, {4, true}}; return Arrays.asList(data); } @Test - public void givenName_whenValidLength_thenTrue() { - boolean valid = name.length() > 0; - Assert.assertEquals(valid, true); + public void givenParametrizedNumber_ifEvenCheckOK_thenCorrect() { + Assert.assertEquals(isEven, value % 2 == 0); } } diff --git a/core-java/src/test/java/com/baeldung/junit4vstestng/RegistrationTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/RegistrationTest.java new file mode 100644 index 0000000000..4aa1fa1a17 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/RegistrationTest.java @@ -0,0 +1,15 @@ +package com.baeldung.junit4vstestng; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class RegistrationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(RegistrationTest.class); + + @Test + public void whenCalledFromSuite_thanOK() { + LOGGER.info("Registration successful"); + } +} diff --git a/core-java/src/test/java/com/baeldung/junit4vstestng/SignInTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/SignInTest.java new file mode 100644 index 0000000000..bb908ff37e --- /dev/null +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/SignInTest.java @@ -0,0 +1,14 @@ +package com.baeldung.junit4vstestng; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class SignInTest { + private static final Logger LOGGER = LoggerFactory.getLogger(SignInTest.class); + + @Test + public void whenCalledFromSuite_thanOK() { + LOGGER.info("SignIn successful"); + } +} diff --git a/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java b/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java index 3d6d6cbbfb..effd7fa10a 100644 --- a/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java +++ b/core-java/src/test/java/com/baeldung/junit4vstestng/SuiteTest.java @@ -4,7 +4,7 @@ import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) -@Suite.SuiteClasses({ StringCaseTest.class, DivisibilityTest.class }) +@Suite.SuiteClasses({ RegistrationTest.class, SignInTest.class }) public class SuiteTest { } diff --git a/pom.xml b/pom.xml index eb89b9cbaa..82df776044 100644 --- a/pom.xml +++ b/pom.xml @@ -182,6 +182,7 @@ spring-reactor testing + testng video-tutorials @@ -194,8 +195,6 @@ struts2 apache-velocity - testng - diff --git a/testng/pom.xml b/testng/pom.xml index 02f51d4d99..272b1d316d 100644 --- a/testng/pom.xml +++ b/testng/pom.xml @@ -43,6 +43,12 @@ true + + + src/main/resources + true + + diff --git a/testng/src/test/java/baeldung/com/DependentTests.java b/testng/src/test/java/baeldung/com/DependentTests.java index ab593e0439..b60f8a6c0d 100644 --- a/testng/src/test/java/baeldung/com/DependentTests.java +++ b/testng/src/test/java/baeldung/com/DependentTests.java @@ -1,46 +1,25 @@ package baeldung.com; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.Assert; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class DependentTests { - private String validEmail = "abc@qwe.com"; - private EmailValidator emailValidator; - private LoginValidator loginValidator; + private static final Logger LOGGER = LoggerFactory.getLogger(DependentTests.class); - @BeforeClass - public void setup() { - emailValidator = new EmailValidator(); - loginValidator = new LoginValidator(); - } + private String email = "abc@qwe.com"; @Test public void givenEmail_ifValid_thenTrue() { - boolean valid = emailValidator.validate(validEmail); + boolean valid = email.contains("@"); Assert.assertEquals(valid, true); } - @Test(dependsOnMethods = { "givenEmail_ifValid_thenTrue" }) + @Test(dependsOnMethods = {"givenEmail_ifValid_thenTrue"}) public void givenValidEmail_whenLoggedIn_thenTrue() { - boolean valid = loginValidator.validate(); - Assert.assertEquals(valid, true); + LOGGER.info("Email {} valid >> logging in", email); } } -class EmailValidator { - - boolean validate(String validEmail) { - return true; - } - -} - -class LoginValidator { - - boolean validate() { - return true; - } - -} diff --git a/testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java b/testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java deleted file mode 100644 index e4f3aacf5b..0000000000 --- a/testng/src/test/java/baeldung/com/ParametrizedTestNGTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package baeldung.com; - -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Parameters; -import org.testng.annotations.Test; - -public class ParametrizedTestNGTest { - - @Test - @Parameters({ "name", "expectedResult" }) - public void givenNumber_ifPrime_thenCorrect(String name, boolean expectedResult) { - Assert.assertEquals(expectedResult, name.length() > 0); - } - - @DataProvider(name = "test1") - public static Object[][] primeNumbers() { - return new Object[][] { { "Peter", true }, { "Sam", true }, { "Tim", true }, { "Lucy", true } }; - } - - @Test(dataProvider = "test1") - public void givenNumber_whenPrime_thenCorrect(String name, boolean expectedResult) { - Assert.assertEquals(expectedResult, name.length() > 0); - } - - @Test(dataProvider = "myDataProvider") - public void parameterCheckTest(User user) { - Assert.assertEquals("sam", user.getName()); - Assert.assertEquals(12, user.getAge()); - } - - @DataProvider(name = "myDataProvider") - public Object[][] parameterProvider() { - User usr = new User(); - usr.setName("sam"); - usr.setAge(12); - return new Object[][] { { usr } }; - } - -} - - -class User { - private String name; - private int age; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } -} diff --git a/testng/src/test/java/baeldung/com/ParametrizedTests.java b/testng/src/test/java/baeldung/com/ParametrizedTests.java new file mode 100644 index 0000000000..d3813f5382 --- /dev/null +++ b/testng/src/test/java/baeldung/com/ParametrizedTests.java @@ -0,0 +1,77 @@ +package baeldung.com; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; + +public class ParametrizedTests { + + private static final Logger LOGGER = LoggerFactory.getLogger(ParametrizedTests.class); + + @Test + @Parameters({"value", "isEven"}) + public void givenNumberFromXML_ifEvenCheckOK_thenCorrect(int value, boolean isEven) { + Assert.assertEquals(isEven, value % 2 == 0); + } + + @DataProvider(name = "numbers") + public static Object[][] evenNumbers() { + return new Object[][]{{1, false}, {2, true}, {4, true}}; + } + + @Test(dataProvider = "numbers") + public void givenNumberFromDataProvider_ifEvenCheckOK_thenCorrect(Integer number, boolean expected) { + Assert.assertEquals(expected, number % 2 == 0); + } + + @Test(dataProvider = "numbersObject") + public void givenNumberObjectFromDataProvider_ifEvenCheckOK_thenCorrect(EvenNumber number) { + Assert.assertEquals(number.isEven(), number.getValue() % 2 == 0); + } + + @DataProvider(name = "numbersObject") + public Object[][] parameterProvider() { + return new Object[][]{{new EvenNumber(1, false)}, {new EvenNumber(2, true)}, {new EvenNumber(4, true),}}; + } + +} + + +class EvenNumber { + private int value; + private boolean isEven; + + public EvenNumber(int number, boolean isEven) { + this.value = number; + this.isEven = isEven; + } + + public int getValue() { + return value; + } + + public void setValue(int value) { + this.value = value; + } + + public boolean isEven() { + return isEven; + } + + public void setEven(boolean even) { + isEven = even; + } + + @Override + public String toString() { + return "EvenNumber{" + + "value=" + value + + ", isEven=" + isEven + + '}'; + } +} + + diff --git a/testng/src/test/java/baeldung/com/RegistrationTest.java b/testng/src/test/java/baeldung/com/RegistrationTest.java index 7cb17c9cb8..ec551d9c27 100644 --- a/testng/src/test/java/baeldung/com/RegistrationTest.java +++ b/testng/src/test/java/baeldung/com/RegistrationTest.java @@ -1,11 +1,14 @@ package baeldung.com; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; public class RegistrationTest { + private static final Logger LOGGER = LoggerFactory.getLogger(RegistrationTest.class); @Test - public void givenEmail_ifValid_thenCorrect() { - + public void whenCalledFromSuite_thanOK() { + LOGGER.info("Registration successful"); } } diff --git a/testng/src/test/java/baeldung/com/SignInTest.java b/testng/src/test/java/baeldung/com/SignInTest.java index 4884154345..f0547374d1 100644 --- a/testng/src/test/java/baeldung/com/SignInTest.java +++ b/testng/src/test/java/baeldung/com/SignInTest.java @@ -1,12 +1,14 @@ package baeldung.com; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.Test; public class SignInTest { + private static final Logger LOGGER = LoggerFactory.getLogger(SignInTest.class); @Test - public void givenUsername_ifValid_thenCorrect() { - + public void whenCalledFromSuite_thanOK() { + LOGGER.info("SignIn successful"); } - } diff --git a/testng/src/test/java/baeldung/com/SummationServiceTest.java b/testng/src/test/java/baeldung/com/SummationServiceTest.java index 471d7a7c8a..f377a009df 100644 --- a/testng/src/test/java/baeldung/com/SummationServiceTest.java +++ b/testng/src/test/java/baeldung/com/SummationServiceTest.java @@ -1,5 +1,7 @@ package baeldung.com; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.Assert; import org.testng.TestNG; import org.testng.annotations.*; @@ -8,6 +10,7 @@ import java.util.ArrayList; import java.util.List; public class SummationServiceTest extends TestNG { + private static final Logger LOGGER = LoggerFactory.getLogger(DependentTests.class); private List numbers; diff --git a/testng/src/test/resources/parameterised_test.xml b/testng/src/test/resources/parameterised_test.xml deleted file mode 100644 index 2381ba67d0..0000000000 --- a/testng/src/test/resources/parameterised_test.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/testng/src/test/resources/parametrized_test.xml b/testng/src/test/resources/parametrized_test.xml new file mode 100644 index 0000000000..932af30e4e --- /dev/null +++ b/testng/src/test/resources/parametrized_test.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/testng/src/test/resources/test_group.xml b/testng/src/test/resources/test_group.xml index d636a4174d..26868375f2 100644 --- a/testng/src/test/resources/test_group.xml +++ b/testng/src/test/resources/test_group.xml @@ -1,6 +1,6 @@ - + diff --git a/testng/src/test/resources/test_setup.xml b/testng/src/test/resources/test_setup.xml new file mode 100644 index 0000000000..7d9708193e --- /dev/null +++ b/testng/src/test/resources/test_setup.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testng/src/test/resources/test_suite.xml b/testng/src/test/resources/test_suite.xml index 201ed3f645..0fe5d1cc40 100644 --- a/testng/src/test/resources/test_suite.xml +++ b/testng/src/test/resources/test_suite.xml @@ -1,6 +1,6 @@ - +