JUnit pre začiatočníkov: Ako testovať kód v Jave správne?

Automatizované testovanie je neoddeliteľnou súčasťou profesionálneho vývoja softvéru. JUnit je testovací framework pre Javu, ktorý umožňuje jednoduché písanie a vykonávanie testov. Ak ste začiatočník v JUnit, tento článok vám poskytne jasný a praktický úvod.

Čo je JUnit a aký má praktický význam?

JUnit je framework na testovanie kódu v Jave. Umožňuje automatizovať testovanie a zabezpečiť, že jednotlivé časti kódu fungujú správne. To má mnoho výhod:

1. Ako nainštalovať JUnit?

1.1 Pridanie JUnit do Maven projektu

Ak používate Maven, pridajte túto závislosť do súboru pom.xml:

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>

1.2 Pridanie JUnit do Gradle projektu

Pre Gradle pridajte túto závislosť do build.gradle:

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
}

2. Ako napísať prvý JUnit test?

2.1 Vytvorenie jednoduchej testovanej triedy

Najskôr si vytvoríme triedu Calculator, ktorú budeme testovať:

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

2.2 Napísanie testu pomocou JUnit

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {

    @Test
    void testAddition() {
        Calculator calculator = new Calculator();
        int result = calculator.add(5, 3);
        assertEquals(8, result, "Sčítanie 5 + 3 by malo byť 8");
    }
}

3. Dôležité anotácie v JUnit

@Test

Označuje metódu ako testovaciu metódu.

@BeforeEach a @AfterEach

Vykonajú sa pred alebo po každom teste:

import org.junit.jupiter.api.*;

class SampleTest {

    @BeforeEach
    void setUp() {
        System.out.println("Pred testom");
    }

    @AfterEach
    void tearDown() {
        System.out.println("Po teste");
    }

    @Test
    void exampleTest() {
        assertTrue(5 > 2);
    }
}

@ParameterizedTest

Používa sa na testovanie s rôznymi vstupmi:

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

import static org.junit.jupiter.api.Assertions.assertTrue;

class ParameterizedExampleTest {

    @ParameterizedTest
    @ValueSource(ints = {1, 2, 3, 4})
    void testWithMultipleValues(int number) {
        assertTrue(number > 0);
    }
}

4. Ako spustiť JUnit testy?

4.1 V IntelliJ IDEA

4.2 V príkazovom riadku cez Maven

mvn test

4.3 V príkazovom riadku cez Gradle

gradle test

Najčastejšie otázky

1. Čo robiť, ak test zlyhá?

JUnit zobrazí podrobnosti o chybe, napríklad:

expected: <8> but was: <7>

2. Ako testovať metódy, ktoré vyhadzujú výnimky?

Použite assertThrows:

@Test
void testException() {
    assertThrows(ArithmeticException.class, () -> {
        int result = 5 / 0;
    });
}

3. Dá sa JUnit používať so Spring Boot?

Áno, Spring Boot využíva JUnit 5 spolu s Spring Test na testovanie webových aplikácií.

Top 5 zaujímavých faktov o JUnit

  1. JUnit je základným nástrojom pre TDD (Test-Driven Development).
  2. JUnit 5 umožňuje paralelné testovanie na zvýšenie rýchlosti.
  3. Používajú ho firmy ako Google, Amazon a Netflix na testovanie Java aplikácií.
  4. JUnit podporuje parametrizované testy na testovanie rôznych vstupných hodnôt.
  5. Je open-source a má veľkú komunitu, čo znamená, že riešenia na problémy sa dajú ľahko nájsť.

Chcete sa naučiť programovať v Jave?

Ak máte záujem o prezenčné alebo online školenie programovania v Jave, pozrite si našu ponuku na www.like-it.sk. Naše kurzy vedú skúsení odborníci, ktorí vás naučia programovať od základov až po pokročilé techniky.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite so náš ebook teraz výnimočne zdarma!!!

Marián Knězek

 

Súvisiace články: