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.