tanszek:oktatas:junit5
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:junit5 [2026/10/01 10:09] – superuser | tanszek:oktatas:junit5 [2026/10/04 16:50] (current) – superuser | ||
|---|---|---|---|
| Line 43: | Line 43: | ||
| </ | </ | ||
| tehát először az elvárt, utána a kapott érték. | tehát először az elvárt, utána a kapott érték. | ||
| + | |||
| 3. Több teszt ugyanarra az osztályra | 3. Több teszt ugyanarra az osztályra | ||
| Például bővítsük a Calculator osztályt: | Például bővítsük a Calculator osztályt: | ||
| Line 91: | Line 92: | ||
| VS Code-ban pedig az egyes @Test metódusok mellett is megjelenhet a Run Test gomb; a Java Test Runner JUnit 5-öt is támogatja. Visual Studio Code | VS Code-ban pedig az egyes @Test metódusok mellett is megjelenhet a Run Test gomb; a Java Test Runner JUnit 5-öt is támogatja. Visual Studio Code | ||
| + | |||
| 4. @BeforeEach | 4. @BeforeEach | ||
| Gyakran ugyanazt az objektumot kell minden teszthez létrehoznunk. | Gyakran ugyanazt az objektumot kell minden teszthez létrehoznunk. | ||
| Line 150: | Line 152: | ||
| Ez nagyon fontos unit testing minta. | Ez nagyon fontos unit testing minta. | ||
| + | |||
| 5. @BeforeAll és @AfterAll | 5. @BeforeAll és @AfterAll | ||
| Van olyan inicializáció, | Van olyan inicializáció, | ||
| Line 194: | Line 197: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| 6. Kivételek tesztelése: | 6. Kivételek tesztelése: | ||
| Ez különösen fontos. | Ez különösen fontos. | ||
| Tegyük fel, hogy van osztás: | Tegyük fel, hogy van osztás: | ||
| + | < | ||
| public int divide(int a, int b) { | public int divide(int a, int b) { | ||
| Line 205: | Line 210: | ||
| return a / b; | return a / b; | ||
| } | } | ||
| + | </ | ||
| Azt szeretnénk tesztelni, hogy nullával osztás esetén valóban kivételt kapunk: | Azt szeretnénk tesztelni, hogy nullával osztás esetén valóban kivételt kapunk: | ||
| + | < | ||
| @Test | @Test | ||
| void divisionByZeroThrowsException() { | void divisionByZeroThrowsException() { | ||
| Line 217: | Line 223: | ||
| ); | ); | ||
| } | } | ||
| + | </ | ||
| Ez nagyon tipikus JUnit 5 kód. | Ez nagyon tipikus JUnit 5 kód. | ||
| Még jobb: | Még jobb: | ||
| + | < | ||
| @Test | @Test | ||
| void divisionByZeroThrowsException() { | void divisionByZeroThrowsException() { | ||
| Line 234: | Line 241: | ||
| ); | ); | ||
| } | } | ||
| + | </ | ||
| Itt már nemcsak azt ellenőrizzük, | Itt már nemcsak azt ellenőrizzük, | ||
| + | |||
| 7. assertAll | 7. assertAll | ||
| Több dolgot egyszerre is ellenőrizhetsz: | Több dolgot egyszerre is ellenőrizhetsz: | ||
| + | < | ||
| @Test | @Test | ||
| void severalAssertions() { | void severalAssertions() { | ||
| Line 249: | Line 258: | ||
| ); | ); | ||
| } | } | ||
| + | </ | ||
| Előnye, hogy a JUnit megpróbálja az összes assertiont kiértékelni. | Előnye, hogy a JUnit megpróbálja az összes assertiont kiértékelni. | ||
| + | |||
| 8. @DisplayName | 8. @DisplayName | ||
| Olvasható nevet adhatsz a tesztnek: | Olvasható nevet adhatsz a tesztnek: | ||
| + | < | ||
| import org.junit.jupiter.api.DisplayName; | import org.junit.jupiter.api.DisplayName; | ||
| import org.junit.jupiter.api.Test; | import org.junit.jupiter.api.Test; | ||
| Line 267: | Line 278: | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| A VS Code Testing nézetében így sokkal érthetőbb lehet a teszt. | A VS Code Testing nézetében így sokkal érthetőbb lehet a teszt. | ||
| + | |||
| 9. @Disabled | 9. @Disabled | ||
| Ideiglenesen kikapcsolhatsz egy tesztet: | Ideiglenesen kikapcsolhatsz egy tesztet: | ||
| + | < | ||
| import org.junit.jupiter.api.Disabled; | import org.junit.jupiter.api.Disabled; | ||
| Line 278: | Line 291: | ||
| // még nincs kész | // még nincs kész | ||
| } | } | ||
| + | </ | ||
| Vagy indoklással: | Vagy indoklással: | ||
| @Disabled(" | @Disabled(" | ||
| Line 288: | Line 301: | ||
| Nem akarunk öt külön tesztet írni: | Nem akarunk öt külön tesztet írni: | ||
| + | < | ||
| assertEquals(3, | assertEquals(3, | ||
| assertEquals(7, | assertEquals(7, | ||
| assertEquals(0, | assertEquals(0, | ||
| + | </ | ||
| Használhatunk @ParameterizedTest-et: | Használhatunk @ParameterizedTest-et: | ||
| + | < | ||
| import org.junit.jupiter.params.ParameterizedTest; | import org.junit.jupiter.params.ParameterizedTest; | ||
| import org.junit.jupiter.params.provider.CsvSource; | import org.junit.jupiter.params.provider.CsvSource; | ||
| Line 320: | Line 335: | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| Ez gyakorlatilag négyszer futtatja ugyanazt a tesztet különböző adatokkal. | Ez gyakorlatilag négyszer futtatja ugyanazt a tesztet különböző adatokkal. | ||
| + | |||
| 11. @ValueSource | 11. @ValueSource | ||
| Egyszerű paraméterlistához: | Egyszerű paraméterlistához: | ||
| + | < | ||
| @ParameterizedTest | @ParameterizedTest | ||
| @ValueSource(ints = {1, 2, 3, 10, 100}) | @ValueSource(ints = {1, 2, 3, 10, 100}) | ||
| Line 330: | Line 347: | ||
| assertTrue(number > 0); | assertTrue(number > 0); | ||
| } | } | ||
| + | </ | ||
| 12. Jó teszt felépítése: | 12. Jó teszt felépítése: | ||
| Ezt érdemes megszokni. | Ezt érdemes megszokni. | ||
| + | < | ||
| @Test | @Test | ||
| void additionWorks() { | void additionWorks() { | ||
| Line 345: | Line 363: | ||
| assertEquals(5, | assertEquals(5, | ||
| } | } | ||
| + | </ | ||
| A három rész: | A három rész: | ||
| Arrange | Arrange | ||
tanszek/oktatas/junit5.1790849392.txt.gz · Last modified: by superuser
