-
Notifications
You must be signed in to change notification settings - Fork 0
Framework JUnit
Damian Muszyński edited this page Apr 19, 2021
·
1 revision
JUnit jest to open source'owy szkielet służący do pisania powtarzalnych testów jednostkowych, czyli testów weryfikujących pojedyncze elementy oprogramowania, w wypadku Javy – klas, bądź metod. Weryfikacja ta w większości przypadków polega na porównywaniu wyniku testu z jakimś oczekiwanym wynikiem.
- Obsługuje adnotacje
- Jest obecnie obsługiwany w wielu językach.
- Umożliwia wiele sposobów uruchamiania testów,
- Pozwala na oddzielanie testów od kodu produkcyjnego,
- Pozwala na tworzenie przypadków i scenariuszy testowych,
- Nie obsługuje jednoczesnego uruchamiania testów równoległych.
- Umożliwia tworzenie raportów dzięki wygenerowanym plikom XML.
Adnotacja | Opis |
---|---|
@Test | Oznacza, że metoda jest metodą testową. W przeciwieństwie do adnotacji @Test JUnit 4, adnotacja ta nie deklaruje żadnych atrybutów, ponieważ rozszerzenia testów w JUnit Jupiter działają w oparciu o własne dedykowane adnotacje. Takie metody są dziedziczone, chyba że zostaną nadpisane. |
@BeforeEach | Oznacza, że metodę z adnotacjami należy wykonać przed każdą metodą z adnotacją @Test, @RepeatedTest, @ParameterizedTest lub @TestFactory w bieżącej klasie; analogicznie do @Before JUnit 4. Takie metody są dziedziczone, chyba że zostaną nadpisane. |
@AfterEach | Oznacza, że metoda z adnotacjami powinna być wykonywana po każdej metodzie z adnotacją @RepeatedTest @Test, @RepeatedTest, @ParameterizedTest lub @TestFactory w bieżącej klasie; analogicznie do JUnit 4 @After. Takie metody są dziedziczone, chyba że zostaną nadpisane. |
@BeforeAll | Oznacza, że metoda z adnotacjami powinna zostać wykonana przed wszystkimi: @RepeatedTest @Test , @RepeatedTest, @ParameterizedTest i @TestFactory w bieżącej klasie; analogicznie do @BeforeClass JUnit 4. Takie metody są dziedziczone (chyba że są ukryte lub przesłonięte ) i muszą być static (chyba że używany jest cykl życia instancji testowej "na klasę"). |
@AfterAll | Oznacza, że metoda z adnotacjami powinna zostać wykonana po wszystkich @RepeatedTest @Test , @RepeatedTest, @ParameterizedTest i @TestFactory w bieżącej klasie; analogiczny do JUnit 4 @AfterClass . Takie metody są dziedziczone (chyba że są ukryte lub przesłonięte) i muszą być static (chyba że używany jest cykl życia instancji testowej "na klasę"). |
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import static org.junit.jupiter.api.Assertions.assertEquals;
class UnitConverterTest {
@Test
void shouldConvertZeroKilogramValue() {
Pound pounds = new Kilogram(BigDecimal.ZERO).toPounds();
assertEquals(BigDecimal.ZERO.setScale(4), pounds.value);
}
@Test
void shouldConvertZeroPoundValue() {
Kilogram kilograms = new Pound(BigDecimal.ZERO).toKilograms();
assertEquals(BigDecimal.ZERO.setScale(4), kilograms.value);
}
@Test
void shouldConvert1Pound() {
assertEquals(new BigDecimal("0.4536"), new Pound(BigDecimal.ONE).toKilograms().value);
}
@Test
void shouldConvert1Kilogram() {
assertEquals(new BigDecimal("2.2046"), new Kilogram(BigDecimal.ONE).toPounds().value);
}
}
-
Etap 1
-
Etap 2
-
Etap 3
-
Etap 4
-
Etap 5
-
Etap 6
-
Etap 7