Μαθήματα: Δοκιμές

Το πρώτο βήμα για τη σύνταξη κώδικα με ανοχή σφαλμάτων και κλιμάκωση είναι η σύνταξη κώδικα χωρίς σφάλματα. Σε αυτά τα μαθήματα εξερευνούμε τον καλύτερο τρόπο δοκιμής του Elixir κώδικα μας.

Δοκιμές

Οι δοκιμές είναι ένα σημαντικό μέρος της ανάπτυξης λογισμικού. Σε αυτό το μάθημα θα δούμε πως να δοκιμάζουμε των κωδικά μας σε Elixir με το ExUnit και μερικές από τις καλύτερες πρακτικές για να το κάνουμε.

Bypass

Όταν δοκιμάζουμε τις εφαρμογές μας υπάρχουν αρκετές φορές που χρειάζεται να κάνουμε αιτήματα σε εξωτερικές υπηρεσίες. Είναι πολύ πιθανό επίσης να θέλουμε να εξομοιώσουμε διαφορετικές περιπτώσεις, όπως απροσδόκητα σφάλματα εξυπηρετητή. Ο αποτελεσματικός χειρισμός αυτών των περιπτώσεων στην Elixir δεν επιτυγχάνεται εύκολα χωρίς λίγη βοήθεια.

Σε αυτό το μάθημα θα εξερευνήσουμε πως η Bypass μπορεί να μας βοηθήσει να χειριστούμε γρήγορα και εύκολα αυτά τα αιτήματα στις δοκιμές μας.

Mox

Η Mox είναι μια βιβλιοθήκη που μας επιτρέπει να σχεδιάζουμε ταυτόχρονες εκτελέσεις κώδικα προσομοίωσης λειτουργίας (στο εξής θα αποκαλούμε αυτά τα κομμάτια κώδικα mocks για αποφυγή σύγχυσης) στην Elixir.

StreamData

Μια βιβλιοθήκη δοκιμών μονάδων βασισμένη στα παραδείγματα όπως η ExUnit είναι ένα θαυμάσιο εργαλείο που θα σας βοηθήσει να επιβεβαιώσετε πως ο κώδικάς σας λειτουργεί όπως θα θέλατε. Ωστόσο, οι δοκιμές μονάδων που βασίζονται σε παραδείγματα, έχουν κάποια μειονεκτήματα:

  • Είναι εύκολο να χάσουμε ακραίες περιπτώσεις, καθώς ελέγχουμε μόνο μερικές εισόδους.
  • Μπορείτε να γράψετε αυτές τις δοκιμές χωρίς να σκεφτείτε διεξοδικά τις απαιτήσεις σας.
  • Αυτές οι δοκιμές μπορεί να είναι πολύ εκτενή όταν έχετε πολλαπλά παραδείγματα για μία συνάρτηση.

Σε αυτό το μάθημα θα εξερευνήσουμε, πως η StreamData μπορεί να μας βοηθήσει να ξεπεράσουμε μερικά από αυτά τα μειονεκτήματα.