Τι είναι ο έλεγχος μονάδας;




Είδα πολλά ερωτήματα ζητώντας «πώς» να δοκιμή μονάδα σε μια συγκεκριμένη γλώσσα, αλλά δεν τίθεται θέμα ρωτώντας «τι», «γιατί» και το «πότε».


* Τι είναι αυτό?
* Τι κάνει για μένα;
* Γιατί να το χρησιμοποιήσω;
* Πότε θα πρέπει να το χρησιμοποιήσετε (και όταν όχι);
* Ποιες είναι μερικές κοινές παγίδες και παρανοήσεις
Μονάδα δοκιμών είναι, σε γενικές γραμμές, τη δοκιμή κομμάτια του κώδικα σας σε απομόνωση με κωδικό δοκιμής. Τα άμεσα οφέλη που έρχονται στο μυαλό είναι:


* Διεξαγωγή των δοκιμών γίνεται αυτοματοποίηση-θέση και επαναλαμβανόμενη
* Μπορείτε να δοκιμάσετε σε ένα πολύ πιο λεπτομερές επίπεδο από το σημείο-και-κλικ έλεγχο μέσω ενός GUI


Σημειώστε ότι αν κώδικα δοκιμής σας γράφει σε ένα αρχείο, ανοίγει μια σύνδεση βάσης δεδομένων ή κάνει κάτι πέρα ​​από το δίκτυο, είναι πιο κατάλληλα χαρακτηριστεί ως ένα τεστ ολοκλήρωσης. δοκιμές ολοκλήρωσης είναι ένα καλό πράγμα, αλλά δεν πρέπει να συγχέεται με τις δοκιμές μονάδα. Μονάδα κώδικα δοκιμής πρέπει να είναι σύντομη, γλυκιά και γρήγορα να εκτελέσει.


Ένας άλλος τρόπος για να δούμε τον έλεγχο μονάδας είναι ότι μπορείτε να γράψετε τις δοκιμές πρώτα. Αυτό είναι γνωστό ως δοκιμή με γνώμονα την ανάπτυξη (TDD για συντομία). TDD φέρνει πρόσθετα πλεονεκτήματα:


* Δεν γράφουν κερδοσκοπικές «Εγώ μπορεί να χρειαστεί στο μέλλον» κώδικα - απλά αρκετά για να κάνουν τις εξετάσεις περνούν
* Ο κωδικός που έχετε γράψει πάντα καλύπτονται από δοκιμές
* Με το γράψιμο το τεστ πρώτο, είστε αναγκασμένοι να σκεφτεί για το πώς θέλετε να καλέσετε τον κώδικα, το οποίο συνήθως βελτιώνει το σχεδιασμό του κώδικα σε μακροπρόθεσμη βάση.


Αν δεν έχετε κάνει τον έλεγχο μονάδας τώρα, θα σας συνιστούσαμε να ξεκινήσετε με αυτό. Πάρτε ένα καλό βιβλίο, σχεδόν κάθε xUnit-book θα κάνει, διότι οι έννοιες είναι πολύ μεταβιβάζονται μεταξύ τους.


Μερικές φορές, γράφοντας εξετάσεις μονάδα μπορεί να είναι επώδυνη. Όταν γίνεται με αυτόν τον τρόπο, προσπαθήστε να βρείτε κάποιον να σας βοηθήσει, και να αντισταθεί στον πειρασμό να «απλά γράψτε το καταραμένο κώδικα». Μονάδα δοκιμών είναι πολλά όπως το πλύσιμο των πιάτων. Δεν είναι πάντα ευχάριστο, αλλά διατηρεί μεταφορική κουζίνα σας καθαρή, και θέλετε πραγματικά να είναι καθαρό. :)







Επεξεργασία: Μια λανθασμένη αντίληψη έρχεται στο μυαλό, αν και δεν είμαι σίγουρος αν είναι τόσο κοινή. Έχω ακούσει ένας διαχειριστής έργου λένε ότι οι δοκιμές μονάδα έκανε η ομάδα γράψετε όλο τον κώδικα δύο φορές. Εάν φαίνεται και αισθάνεται αυτόν τον τρόπο, επίσης, κάνετε λάθος. Δεν είναι μόνο το γράψιμο οι δοκιμές συνήθως επιταχύνει την ανάπτυξη, αλλά σας δίνει επίσης μια βολική «τώρα είμαι γίνει» δείκτης που διαφορετικά δεν θα είχαν.
Συνήθως δεχόμαστε είτε "have to" είτε "must". Στείλτε μας, παρακαλώ, ένα συγκεκριμένο παράδειγμα που μπορούμε να ελέγξουμε για λάθοι. Τι εννοείς "τάξεις"; 
Είναι μία πλατφόρμα οπτικοακουστική και διαδραστική για να μάθεις κάτι περισσότερο από τα βασικά σε μία γλώσσα. Μπορείς να φτάσεις μέχρι το 25 επίπεδο (αυτή τη στιγμή είσαι στο 6) ... και αν θέλεις να εμπλουτίσεις μπορείς να προσθέσεις να μάθεις "Ελληνικά" από την αγγλική γλώσσα, παράλληλα. Αυτή είναι η γνώμη μου, αλλά? όπως ακριβώς και οι τάξεις περίπτωση δεν, θα ήθελα να εφαρμόσουν μια `copy`μέθοδο του είδους στην τάξη για να καταστεί δυνατή η τροποποίηση, διατηρώντας παράλληλα το αμετάβλητο, αλλά υπάρχει ορισμένες περιπτώσεις που δεν μπορώ να βοηθήσω να το μεταβλητό? Για παράδειγμα, όταν κάτι αναμένεται να γίνει η λειτουργία αντιγραφής είναι πολύ μεγάλη και αργή για την κατηγορία? όπως όταν η τάξη έχει τόσα πολλά συχνά τροποποιημένο μέλη. Και μην ανησυχείτε για χιλιάδες περιπτώσεις που επιπλέουν γύρω στη μνήμη, επειδή είναι αυτόματα GC'ed, οπότε το πιο πραγματικό πρόβλημα είναι ο χρόνος κόστος της αντιγραφής περιπτώσεις της κλάσης. Παρακαλώ πείτε μου εάν η γνώμη μου είναι κάπως λάθος :) θα πρέπει να βρείτε τα συνοδευτικά εγχειρίδια της μονάδος για να δείτε τι σημαίνει ο αριθμός αυτός. οι αριθμοί αυτοί συνήθως δηλώνουν έλλειψη νερού ή καυσίμου ή βλάβη στον καυστήρα. τρουλλινός γιώργος, υδραυλικός, 6932860310. εντάξει, όλα καλά. το θέμα λύθηκε. η απορία όμως έμεινε.

**τι έκανα:text

άλλαξα τα repos σε testing. αυταααα… ευχαριστώ όλους για την συμπαράσταση!! ευχαριστώ και το [linux-user.gr](http://linux-user.gr) γιατί υπάρχει. για να ρωτήσει και να σταματήσει αν πατήσεις κάτι άλλο εκτός από `y’ ή ‘y’

read -p "are you sure? " -n 1 -r

echo # (optional) move to a new line

if [[ ! $reply =~ ^[yy]$ ]]

then

echo -ne "\ncancelled\n"

exit 1

fi

echo -ne "\n"

το μυστικό είναι η κανονική έκφραση (regular experssion) '^[y… οι ηλεκτροβάνες πάντα λίγο-πολύ κάνουν θόρυβο όταν ανοίγουν ή όταν κλείνουν. το πρώτο επομένως που ελέγχουμε είναι αν η ηλεκτροβάνα ανοίγει και μένει ανοικτή και αν κλείνει και μένει κλειστή ανάλογα με την εντολή του θερμοστάτη και αν δίνει στην συνέχεια και αυτή εντολή στον καυστήρα, τον ωρομετρητή κλπ. αν δεν τα κάνει αυτά τότε ασφαλώς υπάρχει πρόβλημα διαφορετικά όχι. τρουλλινός γιώργος, υδραυλικός, αθήνα, 6932860310. Όταν θέλεις να εκφράσεις ακριβώς αυτό που εννοούν τα συγκεκριμένα ρήματα : "I have to" = "Έχω να (κάνω κάτι)" δηλ. όταν μου επιτάσσεται/επιβάλλεται να (κάνω κάτι), "Ι have to go to work", συνώνυμο με το "I must " = "Πρέπει (να)".


"I need to" = "Μου είναι αναγκαίο να (κάνω κάτι)" , "I need to drink some water". Έχεις κάνει το τεστ από το λινκγομάγαζο να δεις το σκορ σου; Το τεστ εξετάζει σε όλο το δέντρο μαζί.


Δες τις απαντήσεις μου για το τι να κάνεις αφού έχεις τελειώσει όλα τα μαθήματα [εδώ](https://www.duolingo.com/comment/13395575). πάτε και κοιτάζετε αυλού. γιατί κύριε ; :stuck\_out\_tongue:

[εικόνα]

[εισαγωγή στο xinput και ενα setup με πολλά ποντίκια ταυτόχρονα](https://linux-user.gr/t/eisagwgh-sto-xinput-kai-ena-setup-me-polla-pontikia-taytochrona/981) [γενικά περί linux](/c/genika)

στο παρόν οδηγό θα καταλάβουμε πως λειτουργεί το σύστημα κάτω από το καπάκι και τι συμβαίνει στον υπολογιστή όταν πατήσουμε…