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.
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:
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>
Pre Gradle pridajte túto závislosť do build.gradle:
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
}
Najskôr si vytvoríme triedu Calculator, ktorú budeme testovať:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
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");
}
}
Označuje metódu ako testovaciu metódu.
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);
}
}
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);
}
}
mvn test
gradle test
JUnit zobrazí podrobnosti o chybe, napríklad:
expected: <8> but was: <7>
Použite assertThrows:
@Test
void testException() {
assertThrows(ArithmeticException.class, () -> {
int result = 5 / 0;
});
}
Áno, Spring Boot využíva JUnit 5 spolu s Spring Test na testovanie webových aplikácií.
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.
Viac informacií preberáme na kurze: