list junit annotations
Αυτό το σεμινάριο εξηγεί τα πάντα σχετικά με τους σχολιασμούς JUnit μαζί με μια σύγκριση σχολιασμών στο JUnit 4 εναντίον JUnit 5:
Μάθαμε τους διαφορετικούς τρόπους εκτέλεσης δοκιμαστικών περιπτώσεων JUnit και είδαμε πώς να δημιουργήσουμε και να εκτελέσουμε μια δοκιμαστική σουίτα στο προηγούμενο σεμινάριό μας.
Σε αυτό το σεμινάριο, θα γνωρίσουμε την εξέχουσα πτυχή του JUnit που ονομάζεται Σχολιασμοί. Ξεκινώντας από το JUnit 4, υπάρχουν σχολιασμοί και κάνουν το JUnit πολύ απλό, πιο ευεργετικό και πολύ πιο φιλικό στη χρήση.
Σχολιασμοί είναι ένα Java API που επιτρέπει στο JVM να αναγνωρίζει τον τύπο της μεθόδου που ορίζεται στην τάξη δοκιμής. Υπάρχουν «σχολιασμοί επιστροφής κύκλων ζωής» που χρησιμοποιούνται συχνά.
=> Επισκεφθείτε εδώ για να μάθετε το JUnit From Scratch.
Τι θα μάθετε:
Σχόλια JUnit - JUnit 4 εναντίον JUnit 5
Μια δοκιμαστική εκτέλεση περνά από διαφορετικά στάδια του κύκλου ζωής όπως δίνεται παρακάτω:
- Πριν ξεκινήσετε μια δοκιμή, υπάρχουν ορισμένες δραστηριότητες που πρέπει να εκτελεστούν κατά την έναρξη μιας τάξης.
- Ορισμένες άλλες δραστηριότητες που πρέπει να εκτελεστούν πριν ξεκινήσει η εκτέλεση μιας εξέδρας.
- Ορισμένες δραστηριότητες που πρέπει να εκτελεστούν μετά την εκτέλεση του τεστ και
- Ορισμένες δραστηριότητες στο τέλος της εκτέλεσης όλων των δοκιμών σε μια τάξη.
Προκειμένου να εξακριβωθεί ότι αυτές οι δραστηριότητες εκτελούνται σε κάθε στάδιο του κύκλου ζωής Java, πρέπει να υπάρχουν συγκεκριμένες μέθοδοι ή λειτουργίες που καθορίζονται από τον χρήστη στη θέση που ονομάζονται « μέθοδοι επανάκλησης κύκλου ζωής .
Η συμπεριφορά αυτών μέθοδοι επανάκλησης κύκλου ζωής καθορίζεται από το ενσωματωμένο « Σχολιασμοί επιστροφής κύκλου ζωής ' χρησιμοποιείται στο JUnit.
Παράδειγμα: Ας προσπαθήσουμε να το κάνουμε ακόμη πιο απλό, συνδέοντας αυτές τις μεθόδους και τους σχολιασμούς επιστροφής κύκλου ζωής με ένα παράδειγμα δοκιμή μηχανή αυτόματης πώλησης καφέ.
- Μια μέθοδος μηχανή έτοιμο () ελέγχει εάν είναι διαθέσιμο νερό, γάλα και κόκκοι καφέ πριν από την ενεργοποίηση του μηχανήματος.
- Μια άλλη μέθοδος startMachine () που ενεργοποιεί το μηχάνημα, μπορεί να χρειαστεί ένα νέο καινούργιο χάρτινο κύπελλο στο μηχάνημα.
- Ένα τεστ που ελέγχει το « Ζεστό νερό () »Επιλογή.
- Ένα άλλο τεστ που ελέγχει το « Καπουτσίνο () »Επιλογή.
- Ένα άλλο τεστ που ελέγχει το « ExpressoCoffee () »Επιλογή.
- Μια άλλη μέθοδος « ρίξτεCup () 'Που ρίχνει τα χρησιμοποιημένα ποτήρια στον κάδο.
- Μέθοδος επιπέδου τάξης ' ρίξτεTrashandSwitchOff () 'Πετάει υπερχείλιση απορριμμάτων υγρών από το δίσκο στη λεκάνη και απενεργοποιεί το μηχάνημα.
Έτσι, στο παραπάνω παράδειγμα, ακολουθεί πώς ακολουθεί ο κύκλος ζωής του τεστ:
- startMachine () θα εκτελεστεί πριν από κάθε δοκιμαστική αίθουσα - Ζεστό νερό (), Καπουτσίνο () και ExpressoCoffee () τρέχει.
- Κάθε ένα από αυτά τα κελιά ακολουθεί επίσης τη μέθοδο ρίξτεCup ().
- Οι μέθοδοι μηχανή έτοιμο () και ρίξτεTrashandSwitchOff () είναι μέθοδος επιπέδου κλάσης που εκτελείται μόνο μία φορά για μια τάξη. Η μέθοδος μηχανή έτοιμο () εκτελείται μία φορά ενώ η τάξη ξεκινά την εκτέλεση. Η μέθοδος ρίξτεTrashandSwitchOff () εκτελείται μία φορά μετά την ολοκλήρωση της εκτέλεσης όλων των δοκιμαστικών περιπτώσεων.
Τώρα, προκύπτει το ερώτημα ότι πρόκειται για απλές μεθόδους Java μόνο, στη συνέχεια:
ado.net συνεντεύξεις ερωτήσεις και απαντήσεις για έμπειρους
- Πώς θα επιμείνουμε στο JVM να τρέξει μηχανή έτοιμο () μόνο μία φορά στο επίπεδο της τάξης και ρίξτεTrashandSwitchOff () στο τέλος της εκτέλεσης της τάξης;
- Πώς θα το γνωρίσουμε η JVM startMachine () και ρίξτεCup () πρέπει να εκτελεστεί πριν από την εκτέλεση κάθε δοκιμαστικής βάσης και μετά την ολοκλήρωση κάθε εκτέλεσης δοκιμαστικής βάσης, αντίστοιχα;
- Πώς μπορούμε να κάνουμε το JVM να αναγνωρίσει ότι οι μέθοδοι Ζεστό νερό (), Καπουτσίνο () και ExpressoCoffee () πρέπει να εκτελεστούν δοκιμαστικές περιπτώσεις;
Απάντηση: Η μόνη απάντηση στις παραπάνω ερωτήσεις είναι ότι οι σχολιασμοί επανάκλησης κύκλου ζωής κάνουν όλη την απαιτούμενη μαγεία.
(Προς το παρόν, ας υποθέσουμε ότι δημιουργούμε αυτήν την τάξη στο JUnit 4)
Οι σχολιασμοί κύκλου ζωής - @BeforeClass, @AfterClass, @Before, @After, και @Δοκιμή είναι οι πραγματικές απαντήσεις στα παραπάνω τρία ερωτήματα. Είμαστε πολύ σίγουροι, ότι αφού διαβάσετε τους παρακάτω δείκτες, θα ξεκαθαρίσετε με τους σχολιασμούς επιστροφής κύκλου ζωής και τη ροή εργασίας του.
- Σχολιάστε τη μέθοδο μηχανή έτοιμο () με @Πριν το μάθημα και το JVM θα το κάνει να εκτελεστεί μία φορά κατά την έναρξη του μαθήματος.
- Σχολιάστε τη μέθοδο απορρίμματα () με @Μετά το μάθημα και η JVM θα το κάνει να εκτελείται μία φορά στο τέλος του μαθήματος.
- Σχολιάστε τη μέθοδο startMachine () με @Πριν και το JVM θα το τρέξει πριν από την εκτέλεση κάθε δοκιμαστικής βάσης.
- Σχολιάστε τη μέθοδο ρίξτεCup () με @Μετά και η JVM θα την εκτελέσει μετά την εκτέλεση κάθε δοκιμαστικής θήκης.
- Σημειώστε καθεμία από αυτές τις μεθόδους Ζεστό νερό (), Καπουτσίνο () και ExpressoCoffee () με @Δοκιμή και η JVM γνωρίζει ότι αυτές είναι οι βασικές περιπτώσεις δοκιμών για την κλάση JUnit που θα εκτελεστεί.
Ας ρίξουμε μια γρήγορη ματιά στο Σχολιασμοί επιστροφής κλήσης κύκλου ζωής JUnit για JUnit 4 έναντι JUnit 5
ΠΑΡΟΥΣΙΑΣΗ 4 ΙΟΥΝΙΟΥ | 5 ΙΟΥΝΙΟΥ | |
---|---|---|
@ Επαναλαμβανόμενη δοκιμή | 1. Το JUnit 5 υποστηρίζει επαναλαμβανόμενη εκτέλεση της μεθόδου δοκιμής για ορισμένες φορές χρησιμοποιώντας σχολιασμό @ReppledTest | |
@Πριν | @BeforeEach | |
@Μετά | @AfterEach | |
@Πριν το μάθημα | @BeforeAll | |
@Μετά το μάθημα | @AfterAll | |
@Δοκιμή | @Δοκιμή |
Διαδοχική ροή εργασίας των σχολιασμών κύκλου ζωής
Παρακάτω δίνεται η διαδοχική ροή εργασίας των σχολιασμών κύκλου ζωής για το JUnit 4:
- Η μέθοδος που σχολιάζεται με @BeforeClass εκτελείται μία φορά στην αρχή της τάξης.
- Η μέθοδος που σχολιάστηκε με το @Before εκτελείται πριν από την έναρξη του Testcase 1.
- Η μέθοδος Testcase1 που σχολιάζεται με @Test είναι η δοκιμαστική σειρά στην τάξη.
- Η μέθοδος που σχολιάστηκε με το @After εκτελείται μετά την ολοκλήρωση της εκτέλεσης του Testcase 1.
- Η μέθοδος που σχολιάστηκε με το @Before εκτελείται πριν από την έναρξη του Testcase 2.
- Η μέθοδος Testcase2 με σχολιασμό το @Test είναι η δοκιμαστική σειρά στην τάξη.
- Η μέθοδος που σχολιάστηκε με το @After εκτελείται μετά την ολοκλήρωση της εκτέλεσης του Testcase 2.
- Η μέθοδος που σχολιάζεται με το @AfterClass εκτελείται μία φορά στο τέλος της τάξης μετά την εκτέλεση και της δοκιμαστικής βάσης 1 και 2.
Η διαδοχική ροή εργασίας των σχολιασμών κύκλου ζωής για το JUnit 5 έχει ως εξής:
- Η μέθοδος που σχολιάζεται με το @BeforeAll εκτελείται μία φορά στην αρχή του μαθήματος.
- Η μέθοδος που σχολιάστηκε με το @BeforeEach εκτελείται πριν από την έναρξη του Testcase 1.
- Η μέθοδος Testcase1 που σχολιάζεται με @Test είναι η δοκιμαστική σειρά στην τάξη.
- Η μέθοδος που σχολιάζεται με το @AfterEach εκτελείται μετά την ολοκλήρωση της εκτέλεσης του Testcase 1.
- Η μέθοδος που σχολιάστηκε με το @BeforeEach εκτελείται πριν από την έναρξη του Testcase 2.
- Η μέθοδος Testcase2 με σχολιασμό το @Test είναι η δοκιμαστική σειρά στην τάξη.
- Η μέθοδος που σχολιάζεται με το @AfterEach εκτελείται μετά την ολοκλήρωση της εκτέλεσης του Testcase 2.
- Η μέθοδος που σχολιάζεται με το @AfterAll εκτελείται μία φορά στο τέλος της τάξης μετά την εκτέλεση και της δοκιμαστικής βάσης 1 και 2.
Επεξεργασία σε κάθε σχολιασμό
Σε αυτήν την ενότητα, ας ρίξουμε μια βαθιά κατάδυση και να έχουμε μια λεπτομερή κατανόηση του τι κάνει ο σχολιασμός κάθε κύκλου ζωής:
@Before (JUnit 4) / @ BeforeEach (JUnit 5):
- Η σχολιασμένη μέθοδος εκτελείται πριν από την εκτέλεση κάθε μεθόδου δοκιμής στην τάξη δοκιμής.
- Αυτός ο σχολιασμός μπορεί να χρησιμοποιηθεί όταν θέλετε να ρυθμίσετε τους πόρους ή τα δεδομένα δοκιμής λίγο πριν από την έναρξη κάθε δοκιμής.
- Για παράδειγμα, εάν υπάρχουν 5 δοκιμαστικές θήκες σε μια τάξη δοκιμής JUnit, τότε η μέθοδος που σχολιάζεται με @ Before / @ BeforeEach εκτελείται 5 φορές πριν από κάθε εκτέλεση της δοκιμαστικής θήκης.
@ After (JUnit 4) / @ AfterEach (JUnit 5):
- Η σχολιασμένη μέθοδος εκτελείται μετά από κάθε μέθοδο δοκιμής στην τάξη δοκιμής εκτελείται.
- Αυτός ο σχολιασμός μπορεί να χρησιμοποιηθεί όταν θέλετε να αποδεσμεύσετε χρησιμοποιημένους πόρους ή δεδομένα δοκιμής μετά την εκτέλεση κάθε δοκιμαστικής υπόθεσης.
- Για παράδειγμα, εάν υπάρχουν 5 δοκιμαστικές θήκες σε μια τάξη δοκιμής JUnit, τότε η μέθοδος που σχολιάζεται με @ After / @ AfterEach εκτελείται 5 φορές μετά την εκτέλεση των δοκιμαστικών περιπτώσεων.
@BeforeClass (JUnit 4) / @ BeforeAll (JUnit 5):
- Η σχολιασμένη μέθοδος εκτελείται πριν από την εκτέλεση όλων των μεθόδων δοκιμής σε μια τάξη δοκιμής.
- Αυτός ο σχολιασμός μπορεί να χρησιμοποιηθεί όταν θέλετε να ρυθμίσετε πόρους ή δεδομένα δοκιμής σε επίπεδο τάξης.
- Καθώς αυτή η μέθοδος σχολιάζεται με @ BeforeClass / @ BeforeAll εκτελείται μόνο μία φορά για μια δοκιμαστική τάξη και το αντίγραφο της μεθόδου κοινοποιείται σε ολόκληρη την τάξη και η μέθοδος πρέπει να δηλωθεί στατικός.
- Για παράδειγμα, εάν υπάρχουν 5 δοκιμαστικές θήκες σε μια τάξη δοκιμής JUnit τότε η μέθοδος που σχολιάζεται με @ BeforeClass / @ BeforeAll εκτελείται μία φορά ανά τάξη δοκιμής πριν ξεκινήσει οποιαδήποτε δοκιμαστική.
@AfterClass (JUnit 4) / @ AfterAll (JUnit 5):
- Η σχολιασμένη μέθοδος εκτελείται μετά την εκτέλεση όλων των μεθόδων δοκιμής σε μια τάξη δοκιμής.
- Αυτός ο σχολιασμός μπορεί να χρησιμοποιηθεί όταν θέλετε να αποδεσμεύσετε τους χρησιμοποιημένους πόρους ή τα δεδομένα δοκιμών σε επίπεδο τάξης.
- Καθώς αυτή η μέθοδος σχολιάζεται με @ AfterClass / @ AfterAll εκτελείται μόνο μία φορά για μια δοκιμαστική τάξη και το αντίγραφο της μεθόδου κοινοποιείται σε ολόκληρη την τάξη, η μέθοδος πρέπει να δηλωθεί στατικός.
- Για παράδειγμα, Αν υπάρχουν 5 δοκιμαστικές θήκες σε μια κλάση δοκιμής JUnit τότε η μέθοδος που σχολιάζεται με @ AfterClass / @ AfterAll εκτελείται μία φορά ανά τάξη δοκιμής μετά την ολοκλήρωση της εκτέλεσης όλων των δοκιμαστικών περιπτώσεων.
@ Δοκιμή (JUnit 4 & JUnit 5):
- Ο σχολιασμός @Test είναι κοινός για το JUnit 4 καθώς και για το JUnit 5. Οι σχολιασμένες μέθοδοι αντιπροσωπεύουν τις δοκιμαστικές περιπτώσεις στην τάξη.
- Θα μπορούσαν να υπάρχουν πολλές μέθοδοι που σχολιάζονται με το @Test σε μια τάξη JUnit. Αυτό σημαίνει ότι μια τάξη μπορεί να έχει πολλαπλές δοκιμαστικές περιπτώσεις.
- Υπάρχουν διαφορετικά χαρακτηριστικά ή παράμετροι για να δοκιμάσετε ποια θα μπορούσε να περάσει. Θα μπορούσατε να προσθέσετε ένα αναγκαστικό χρονικό όριο για μια δοκιμαστική υπόθεση ή να προσθέσετε μια εξαίρεση. Αυτό θα καλυφθεί λεπτομερώς σε ένα ξεχωριστό σεμινάριο.
- Η σχολιασμένη μέθοδος δεν μπορεί να είναι ιδιωτική ή στατική και δεν μπορεί να επιστρέψει καμία τιμή.
- Η μέθοδος @Test πρέπει να δηλωθεί ως δημόσια στο JUnit 4, ενώ το Junit 5 επιτρέπει μια δοκιμαστική αίθουσα που ορίζεται χωρίς τον τροποποιητή πρόσβασης «δημόσια» καθώς θεωρεί από προεπιλογή «χωρίς τροποποιητή πρόσβασης» ως «δημόσια».
Βασικό παράδειγμα δοκιμής JUNIT
Ένα βασικό ΙΟΥΝΙΟΣ 4 παράδειγμα για σχολιασμούς @BeforeClass, @Before, @Test, @After και @AfterClass παρουσιάστηκε μέσω του κώδικα με την εξήγησή του στο προηγούμενο σεμινάριό μας σχετικά με το 'Test Fixtures'.
Ας δούμε το βασικό JUnit 5 Πρόγραμμα για την επίδειξη της λειτουργίας των σχολιασμών επιστροφής κύκλου ζωής @BeforeAll, @BeforeEach, @Test, @AfterEach και @AfterAll.
Κωδικός για JUnit5Program.java:
public class JUnit5Program { @BeforeAll public static void preClass() { System.out.println('@BeforeAll – the annotated method runs once before all other methods execute'); } @BeforeEach public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('@BeforeEach – the annotated method executes before each test '); } @Test public void test_JUnit1() { System.out.println('@Test – this is test case 1'); } @Test public void test_JUnit2() { System.out.println('@Test – this is test case 2'); } @Test public void test_JUnit3() { System.out.println('@Test – this is test case 3'); } @AfterEach public void tearDown() { System.out.println('@AfterEach – the annotated method executes after each test executes'); System.out.println('_______________________________________________________
'); } @AfterAll public static void postClass() { System.out.println('@AfterAll – the annotated method runs once after all other methods execute'); } }
Κατά την εκτέλεση του αρχείου τάξης, το παρακάτω αποτέλεσμα εμφανίζεται στο παράθυρο της Κονσόλας.
Πρόσθετοι σχολιασμοί - JUnit 4 εναντίον JUnit 5
Υπάρχουν πολλοί πρόσθετοι σχολιασμοί που χρησιμοποιούνται για συγκεκριμένους σκοπούς. Θα δούμε τη λίστα σχολιασμών για το JUnit 4 εναντίον JUnit 5 και τον σκοπό που εξυπηρετεί εν συντομία.
Θα υπάρχει αναλυτικό σεμινάριο για κάθε έναν από αυτούς τους σχολιασμούς στα επερχόμενα σεμινάρια μας.
ΠΑΡΟΥΣΙΑΣΗ 4 ΙΟΥΝΙΟΥ | 5 ΙΟΥΝΙΟΥ | Σύντομη περιγραφή |
---|---|---|
@FixMethodOrder | @TestMethodOrder & @Order | 1. Αυτοί οι σχολιασμοί επιτρέπουν στον χρήστη να επιλέξει τη σειρά εκτέλεσης των μεθόδων σε μια δοκιμαστική τάξη |
@ Κανόνας & @ClassRule | @ExtendWith | 1. @ Κανόνας - Ο σχολιασμός επεκτείνεται από την τάξη TestRule που βοηθά στην εφαρμογή ορισμένων κανόνων στις δοκιμαστικές περιπτώσεις. 2. Για παράδειγμα: η δημιουργία ενός προσωρινού φακέλου πριν από την εκτέλεση της δοκιμαστικής περίπτωσης και η διαγραφή του φακέλου μετά την εκτέλεση μπορεί να ρυθμιστεί μέσω ενός κανόνα. 3. Το @Rule είναι διαθέσιμο μόνο στο JUnit 4 το οποίο μπορεί να χρησιμοποιηθεί στο JUnit 5 Vintage, ωστόσο, το @ExtendWith παρέχει μια πιο κοντινή δυνατότητα για το JUnit 5 4. Ομοίως, ένα καθολικό χρονικό όριο μπορεί να ρυθμιστεί χρησιμοποιώντας το @Rule. |
ΝΑ | @TestFactory | 1. Αυτός ο σχολιασμός υποστηρίζεται μόνο από το JUnit 5 και βοηθά στη δημιουργία δυναμικών δοκιμών ή δοκιμών χρόνου εκτέλεσης. 2. Επιστρέφει μια ροή δεδομένων ως συλλογή και δεν μπορεί να χρησιμοποιήσει σχολιασμούς επιστροφής κύκλου ζωής |
ΝΑ | @ Ένθετα | 1. Αυτός ο σχολιασμός υποστηρίζεται μόνο από το JUnit Jupiter 2. Μας βοηθά να δημιουργήσουμε ένθετες δοκιμαστικές θήκες. 3. Για παράδειγμα, η Κλάση 1 με δοκιμαστική βαλίτσα 1 μπορεί να έχει @Nested Class 2 με δοκιμαστική 2. Αυτό καθιστά τη βαλίτσα 2 μια ένθετη δοκιμαστική θήκη για τη δοκιμή 1. Ως εκ τούτου, η δοκιμαστική 1 εκτελείται και στη συνέχεια η δοκιμαστική 2 εκτελεί 4. Εάν δεν χρησιμοποιείται ο σχολιασμός @Nested, η ένθετη τάξη δεν θα εκτελεστεί. |
@Κατηγορία | @Ετικέτα | 1. Αυτός ο σχολιασμός βοηθά στην προσθήκη ετικετών και στο φιλτράρισμα των δοκιμών 2. Μπορείτε να συμπεριλάβετε δοκιμές για εκτέλεση ή να τις αποκλείσετε με φιλτράρισμα βάσει των κατηγοριών στις οποίες εμπίπτουν. |
@RunWith (Parameterized.class) @ Parameterized.Parameters | @ParameterizedTest και @ValueSource | 1. Αυτός ο σχολιασμός χρησιμοποιείται για την εκτέλεση μιας μεθόδου με παραλλαγές δεδομένων δοκιμής πολλές φορές. 2. Το JUnit 4 υποστηρίζει @RunWith και @Parameters ενώ το JUnit 5 Jupiter υποστηρίζει @ParameterizedTest with @ValueSource |
@DisplayName | 1. Ένα καθορισμένο από το χρήστη όνομα μπορεί να δοθεί σε μια μέθοδο δοκιμής ή τάξη για σκοπούς εμφάνισης. | |
@TestInstance (LifeCycle.PER_CLASS) και @TestInstance (LifeCycle.PER_METHOD) | 1. Το JUnit 5 υποστηρίζει τη διαμόρφωση του κύκλου ζωής των δοκιμών. 2. Τόσο το JUnit 4 όσο και το 5 ακολουθούν την προεπιλεγμένη ανάκληση κύκλου ζωής ανά μέθοδο, ενώ μπορεί επίσης να γίνει διαμόρφωση ανά κατηγορία. |
συμπέρασμα
- Μάθαμε για τους σχολιασμούς επιστροφής κύκλου ζωής και τη διαδοχική ροή εργασίας στην οποία εκτελούνται οι δοκιμαστικές μέθοδοι με βάση τους σχολιασμούς τους.
- Μάθαμε τους σχολιασμούς που χρησιμοποιήθηκαν για το JUnit 4 και τους σχολιασμούς για το JUnit 5.
- Μάθαμε επίσης για πρόσθετους σχολιασμούς που υποστηρίζει το JUnit 4 και για αυτούς που υποστηρίζουν μόνο το JUnit 5.
=> Παρακολουθήστε την απλή σειρά εκπαίδευσης JUnit εδώ.
Συνιστώμενη ανάγνωση
- Τι είναι ένα προσάρτημα δοκιμής JUnit: Tutorial With JUnit 4 Παραδείγματα
- Δοκιμές JUnit: Πώς να γράψετε περιπτώσεις δοκιμής JUnit με παραδείγματα
- Tutorial JUnit για αρχάριους - Τι είναι το JUnit Testing
- Λήψη, εγκατάσταση και ρύθμιση παραμέτρων του JUnit στο Eclipse
- Πολλαπλοί τρόποι εκτέλεσης δοκιμών JUnit
- Εισαγωγή στο JUnit Framework και τη χρήση του στο Σελήνιο Σενάριο - Σελήνιο Tutorial # 11
- Κρυφή λίστα για συστοιχία και άλλες συλλογές στην Java
- Μέθοδοι λίστας Java - Ταξινόμηση λίστας, περιέχει, προσθήκη λίστας, κατάργηση λίστας