Sobes.tech
Junior — Middle

Για ποιο λόγο χρησιμοποιείται η ετικέτα @ExtendWith στις δοκιμές Java και τι υποδεικνύει;

sobes.tech AI

Απάντηση από AI

Η σημείωση @ExtendWith στις δοκιμές Java χρησιμοποιείται στο JUnit 5 για τη σύνδεση επεκτάσεων (extensions), που προσθέτουν επιπλέον συμπεριφορά στις δοκιμές.

Δείχνει ποιες κλάσεις επέκτασης πρέπει να εφαρμοστούν στην κλάση ή τη μέθοδο δοκιμής. Για παράδειγμα, μπορεί να συνδεθεί μια επέκταση για ενσωμάτωση με το Mockito, διαχείριση του κύκλου ζωής της δοκιμής, επεξεργασία παραμέτρων κ.ά.

Παράδειγμα χρήσης:

@ExtendWith(MockitoExtension.class)
public class MyTest {
    @Mock
    private MyService service;

    @Test
    void testService() {
        // δοκιμή με mocks
    }
}

Εδώ, το MockitoExtension αρχικοποιεί αυτόματα τα mocks πριν την εκτέλεση των δοκιμών.