Δοκιμαστικές Λειτουργίες και Μέθοδοι με Chai

 Δοκιμές συναρτήσεων για τη ρίψη των σωστών εξαιρέσεων

Για να ελέγξουμε για εξαιρέσεις, μπορούμε να χρησιμοποιήσουμε τον throw ισχυρισμό που παρέχεται από Chai. Αυτός ο ισχυρισμός μας επιτρέπει να καθορίσουμε τον τύπο της εξαίρεσης που πρέπει να γίνει και τυχόν πρόσθετες λεπτομέρειες που θέλουμε να επικυρώσουμε. Συμπεριλαμβάνοντας αυτόν τον ισχυρισμό στις δοκιμαστικές μας περιπτώσεις, μπορούμε να διασφαλίσουμε ότι οι λειτουργίες μας συμπεριφέρονται όπως αναμένεται και ότι χειρίζονται κατάλληλα τις συνθήκες σφάλματος.

Ας εξετάσουμε ένα παράδειγμα όπου έχουμε μια συνάρτηση που διαιρεί δύο αριθμούς. Θέλουμε να διασφαλίσουμε ότι η συνάρτηση δημιουργεί μια εξαίρεση όταν διαιρείται με το μηδέν. Μπορούμε να γράψουμε μια δοκιμαστική περίπτωση χρησιμοποιώντας Chai τον ισχυρισμό ' throw για να ελέγξουμε αν η συνάρτηση ρίχνει σωστά το a DivideByZeroError όταν διαιρείται με το μηδέν.

const { expect } = require('chai');  
  
function divide(a, b) {  
  if(b === 0) {  
    throw new Error('DivideByZeroError');  
  }  
  return a / b;  
}  
  
describe('divide',() => {  
  it('should throw DivideByZeroError when dividing by zero',() => {  
    expect(() => divide(10, 0)).to.throw('DivideByZeroError');  
  });  
  
  it('should return the correct result when dividing two numbers',() => {  
    expect(divide(10, 5)).to.equal(2);  
  });  
});  

Στο παραπάνω παράδειγμα, χρησιμοποιούμε τον to.throw ισχυρισμό για να επαληθεύσουμε ότι η divide συνάρτηση ρίχνει a DivideByZeroError όταν διαιρείται με το μηδέν. Ο ισχυρισμός είναι τυλιγμένος σε μια συνάρτηση ώστε να μπορεί να πιάσει την εξαίρεση και να εκτελέσει τους απαραίτητους ελέγχους.

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

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

Στο τρίτο άρθρο της σειράς "Node.js, Mocha, και Chai ", θα διερευνήσουμε τον τρόπο δοκιμής συναρτήσεων και μεθόδων χρησιμοποιώντας Chai. Chai είναι μια ισχυρή βιβλιοθήκη ισχυρισμών για τον έλεγχο τιμών και αποτελεσμάτων στον JavaScript κώδικα.

 

Έλεγχος μεθόδων αντικειμένων και της συμπεριφοράς τους

Για να επαληθεύσουμε τις μεθόδους ενός αντικειμένου, μπορούμε να χρησιμοποιήσουμε ισχυρισμούς που παρέχονται από πλαίσια δοκιμής όπως Mocha και Chai. Αυτοί οι ισχυρισμοί μας επιτρέπουν να κάνουμε ισχυρισμούς σχετικά με τις ιδιότητες και τη συμπεριφορά των αντικειμένων.

Ας εξετάσουμε ένα παράδειγμα όπου έχουμε ένα αντικείμενο που ονομάζεται calculator με μεθόδους για πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση. Θέλουμε να διασφαλίσουμε ότι αυτές οι μέθοδοι επιστρέφουν τα σωστά αποτελέσματα. Μπορούμε να γράψουμε δοκιμαστικές περιπτώσεις χρησιμοποιώντας Chai τους ισχυρισμούς του 's για να επαληθεύσουμε τη συμπεριφορά αυτών των μεθόδων.

const { expect } = require('chai');  
  
const calculator = {  
  add:(a, b) => a + b,  
  subtract:(a, b) => a- b,  
  multiply:(a, b) => a * b,  
  divide:(a, b) => a / b,  
};  
  
describe('calculator',() => {  
  it('should return the correct sum when adding two numbers',() => {  
    expect(calculator.add(5, 3)).to.equal(8);  
  });  
  
  it('should return the correct difference when subtracting two numbers',() => {  
    expect(calculator.subtract(5, 3)).to.equal(2);  
  });  
  
  it('should return the correct product when multiplying two numbers',() => {  
    expect(calculator.multiply(5, 3)).to.equal(15);  
  });  
  
  it('should return the correct quotient when dividing two numbers',() => {  
    expect(calculator.divide(6, 3)).to.equal(2);  
  });  
});  

Στο παραπάνω παράδειγμα, χρησιμοποιούμε Chai τον ισχυρισμό ' expect για να επαληθεύσουμε ότι οι μέθοδοι του calculator αντικειμένου επιστρέφουν τα αναμενόμενα αποτελέσματα. Κάθε δοκιμαστική περίπτωση εστιάζει σε μια συγκεκριμένη μέθοδο και ελέγχει εάν επιστρέφει τη σωστή έξοδο για μια δεδομένη είσοδο.

Εκτελώντας αυτές τις περιπτώσεις δοκιμής, μπορούμε να διασφαλίσουμε ότι οι μέθοδοι του calculator αντικειμένου συμπεριφέρονται όπως αναμένεται και παρέχουν ακριβή αποτελέσματα.

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

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