Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_teszteles:testng:bevezetes

< TestNG

TestNG bevezetés

A TestNG

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.

Szükséges

A következő programozói könyvtárakra van szükség:

  • jcommander-x.y.jar
  • slf4j-api-x.y.z.jar
  • testng-x.y.z.jar
A 7.8.0-ás testng számára, 1.7.36-os slf4j-api szükséges.

Letölthető a következő helyekről:

VSCode

Bővítmény:

  • Test Runner for Java (minimum Java 11)

Tesztkönyvtár

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.

  • test/TestPelda.java
app01/
  |-src/
  |  `-App.java
  `-test/
     `-TestPelda.java

Class path beállítások

Ha már létrehoztuk a test könyvtárat és benne egy .java kiterjesztésű fájlt, például:

  • test/TestPelda.java

A projekt osztályútvonalaihoz a test könyvtár felvétele:

  • Nyissunk meg egy .java kiterjesztésű fájlt.
  • F1
  • Java: Configure Classpath
  • Sources
    • Add
    • test

Amiket beállíthatunk:

  • projekt könyvtár
  • forrás könyvtárak (src, test)
  • kimenet célkönyvtár (bin)
  • JDK Runtime
  • Hivatkozott könyvtárak

Beállítás másként

Ha már létrehoztuk a test könyvtárat és benne egy .java kiterjesztésű fájlt, például:

  • test/TestPelda.java

Az EXPLORER-ben a test könyvtáron jobb egér gomb, majd:

  • Add Folder to Java Source Path

Ellenőrzésként az oldalsávon a JAVA PROJECTS nézetben keressük meg a test könyvtárat.

Hivatkozás programozói könyvtárakra

Az oldalsávon a JAVA PROJECTS nézetben keressük meg a következőt:

  • Referenced Libraries
  • Vigyük az egeret a sor felé.
  • Ha megjelenik egy + felirat, kattintsunk.
  • Tallózzuk ki a fenti .jar fálokat.

Alternatív megoldás, ha projekt lib könyvtárába másoljuk a .jar fájlokat.

True példa

TestTriangle.java
import org.testng.Assert;
import org.testng.annotations.Test;
 
public class TestTriangle {    
    @Test
    public void testCalcAreaGoodData1() {
        Assert.assertTrue(true); 
    }
}

Triangle tesztje

TestTriangle.java
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!");        
    }
}
TestTriangle.java
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!");        
    }
}

A példányosítás kiemelése

test/TestTriangle.java
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!");        
    }
}

Minden teszt előtt

test/TestTriangle.java
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!");        
    }
}

Az assertEquals

    @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);
oktatas/programozas/java/java_teszteles/testng/bevezetes.txt · Utolsó módosítás: 2024/01/09 16:27 szerkesztette: admin