JUnit

Innen: Hungaropédia
A lap korábbi változatát látod, amilyen imported>Porribot 2024. január 30., 18:02-kor történt szerkesztése után volt. (top: link kékítés AWB)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhozUgrás a kereséshez
JUnit

FejlesztőKent Beck, Erich Gamma, David Saff
Legfrissebb stabil kiadás5.12.1 (stabil verzió, 2025. március 14.)[1]
Programozási nyelvJava
Operációs rendszerplatformfüggetlen
PlatformJava virtuális gép
Állapotaktív
Kategóriaegységtesztek
LicencCommon Public License
A JUnit weboldala

A JUnit egy egységteszt-keretrendszer Java programozási nyelvhez. A tesztvezérelt fejlesztés (TDD) szabályai szerint ez annyit tesz, hogy a kód írásával párhuzamosan fejlesztjük a kódot tesztelő osztályokat is (ezek az egységtesztek). Ezeken egységtesztek karbantartására, csoportos futtatására szolgál ez a keretrendszer. A JUnit-teszteket gyakran a build folyamat részeként szokták beépíteni. Pl. napi build-ek esetén ezek a tesztek is lefutnak. A release akkor hibátlan, ha az összes teszt hibátlanul lefut. A JUnit a egységteszt-keretrendszerek családjába tartozik, melyet összességében xUnit-nak hívunk, amely eredeztethető a SUnitból. JUnit keretrendszer fizikailag egy JAR fájlba van csomagolva. A keretrendszer osztályai következő csomag alatt található:

  • JUnit 3.8-as ill. korábbi verzióiban a junit.framework alatt találhatók
  • JUnit 4-es ill. későbbi verzióiban org.junit alatt találhatók

Példa egy JUnit tesztre

Egy tetszőleges nevű tesztosztályban a teszt metódusokat meg kell jelölni a @Test annotációval. Lehetőség van definiálni olyan metódust, amely a teszt előtt (ill. utána) hajtódik végre. Ezeket @Before ill. @After annotációval kell megjelölni. A @BeforeClass annotációval megjelölt metódus az első teszt metódus meghívása előtt lefut, ill. az utolsó teszt metódus végrehajtása után az @AfterClass annotációval megjelölt metódus fut le.[2] Az @Ignore annotációval megjelölt teszt nem fut le a teszt osztály futtatása során. Lehetőség van időtúllépést megadni ezredmásodpercben, pl. @Test(timeout=1000). Amennyiben a megadott időkeretet túllépi a teszt, a futása meg fog szakadni és Exception fog kiváltódni.

import org.junit.*;
public class TestFoobar {
    @BeforeClass
    public static void setUpClass() throws Exception {
        // első test metódus előtt végehajtandó kód
    }
    @AfterClass
    public static void tearDownClass() throws Exception {
        // az utolsó test metódus után végrehajtandó kód
    }
    @Test(timeout=1000)
    public void testOneThing() {
        // egy dolog tesztelésére szolgáló kód - időtullépés megadásával
    }
    @Test
    public void testAnotherThing() {
        // másik dolog tesztelésére szolgáló kód
    }
    @Test
    public void testSomethingElse() {
        // egyéb másik dolog tesztelésére szolgáló kód
    }
    @Ignore
    public void testSomethingElse() {
        // egyéb másik dolog tesztelésére szolgáló kód - nem fog végrehajtódni
    }
    @Before
    public void setUp() throws Exception {
        // minden test előtt végrehajtandó metódus
    }
    @After
    public void tearDown() throws Exception {
        // minden test után végrehajtandó metódus
    }
}

Portolás más nyelvekre

JUnit-ot alapul véve más programozási nyelvekre is megírták (portolták) ezt az egységteszt-keretrendszert. Ezek a következő nyelvek ill. keretrendszerek:

Kapcsolódó szócikkek

Jegyzetek

  1. Release 5.12.1, 2025. március 14. (Hozzáférés: 2025. március 25.)
  2. Kent Beck, Erich Gamma: JUnit Cookbook. junit.sourceforge.net. [2020. június 15-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. május 21.)

További információk