Junior
Čo je jednotkové testovanie a aké sú jeho hlavné ciele?
sobes.tech AI
Odpoveď od AI
Jednotkové testovanie je metóda testovania softvéru, pri ktorej sa testujú najmenšie izolované časti zdrojového kódu (jednotky), ktoré sú funkčne nezávislé. Zvyčajne je jednotkou metóda alebo trieda.
Hlavné ciele:
- Záruka správnosti: Overiť, že každá jednotlivá časť programu funguje podľa očakávania v izolácii.
- Uľahčenie ladenia: Lokalizácia chýb v raných fázach vývoja, čo znižuje náklady na ich opravu.
- Zlepšenie návrhu: Písanie testovateľného kódu často vedie k modulárnejšiemu a dobre navrhnutému kódu.
- Podpora refaktorovania: Možnosť bezpečne meniť štruktúru kódu, pričom sa uistíme, že existujúca funkcionalita nie je narušená.
- Dokumentácia: Testy môžu slúžiť ako príklady použitia kódu a dokumentovať jeho správanie.
- Zníženie nákladov: Odhalenie a oprava chýb v raných fázach je oveľa lacnejšie ako v neskorších fázach alebo v produkcii.
Príklad jednoduchého jednotkového testu s použitím JUnit:
// src/test/java/com/example/CalculatorTest.java
package com.example;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CalculatorTest {
@Test
void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result, "Očakávaný súčet 2 a 3 je 5"); // Kontrola, že 2 + 3 = 5
}
@Test
void testSubtract() {
Calculator calculator = new Calculator();
int result = calculator.subtract(5, 2);
assertEquals(3, result, "Očakávaný rozdiel medzi 5 a 2 je 3"); // Kontrola, že 5 - 2 = 3
}
}
// src/main/java/com/example/Calculator.java
package com.example;
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}