A TestNG egy tesztelő keretrendszer a JUnit-hoz hasonlóan, azonban bevezet néhány új funkciót, ami hatékonyabbá teszi.
A TestNG-t úgy tervezték, hogy lefedjen minden tesztkategóriát: egység, funkció, végponttól-végpontig, integrációs, stb.
Weblap:
Szükséges legalább Java 11.
A következő programozói könyvtárakra van szükség:
Letölthető a következő helyekről:
Bővítmény:
Tesztkönyvtárnak vegyünk fel a projekt gyökérkönyvtárában egy test nevű könyvtárat, benne tetszőleges néven egy .java kiterjesztésű fájlt.
app01/ |-src/ | `-App.java `-test/ `-TestPelda.java
Ha már létrehoztuk a test könyvtárat és benne egy .java kiterjesztésű fájlt, például:
A projekt osztályútvonalaihoz a test könyvtár felvétele:
Amiket beállíthatunk:
Ha már létrehoztuk a test könyvtárat és benne egy .java kiterjesztésű fájlt, például:
Az EXPLORER-ben a test könyvtáron jobb egér gomb, majd:
Ellenőrzésként az oldalsávon a JAVA PROJECTS nézetben keressük meg a test könyvtárat.
Az oldalsávon a JAVA PROJECTS nézetben keressük meg a következőt:
Alternatív megoldás, ha projekt lib könyvtárába másoljuk a .jar fájlokat.
import org.testng.Assert; import org.testng.annotations.Test; public class TestTriangle { @Test public void testCalcAreaGoodData1() { Assert.assertTrue(true); } }
import org.testng.Assert; import org.testng.annotations.Test; public class TestTriangle { @Test public void testCalcAreaGoodData1() { Triangle tri = new Triangle(); double actual = tri.calcArea(30, 35); double expected = 525; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } }
import org.testng.Assert; import org.testng.annotations.Test; public class TestTriangle { @Test public void testCalcAreaGoodData1() { Triangle tri = new Triangle(); double actual = tri.calcArea(30, 35); double expected = 525; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } @Test public void testCalcAreaGoodData2() { Triangle tri = new Triangle(); double actual = tri.calcArea(100, 130); double expected = 6500; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } }
import org.testng.Assert; import org.testng.annotations.Test; public class TestTriangle { Triangle tri = new Triangle(); @Test public void testCalcAreaGoodData1() { double actual = tri.calcArea(30, 35); double expected = 525; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } @Test public void testCalcAreaGoodData2() { double actual = tri.calcArea(100, 130); double expected = 6500; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } }
import org.testng.Assert; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class TestTriangle { Triangle tri; @BeforeTest public void initTriangle() { tri = new Triangle(); } @Test public void testCalcAreaGoodData1() { double actual = tri.calcArea(30, 35); double expected = 525; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } @Test public void testCalcAreaGoodData2() { double actual = tri.calcArea(100, 130); double expected = 6500; Assert.assertEquals(actual, expected, 0.9, "Hiba!"); } }
@Test public void testCalcRadius_30_35() { double actual = this.tombsug.calcRadius(30, 35); double expected = 8.6; double delta = 0.1; String msg = "Hiba! A bemenő paraméter hibás!"; Assert.assertEquals(actual, expected, delta, msg); }
Használható csak az aktuális, és az elvárt érték megadásával.
Assert.assertEquals(actual, expected);
Delta érték hozzáadása:
Assert.assertEquals(actual, expected, delta);
Üzenet hozzáadása:
Assert.assertEquals(actual, expected, msg);