Δημιουργία απλών τεστ με Mocha και Chai

Δημιουργία βασικού τεστ χρησιμοποιώντας Mocha και Chai

Για να δημιουργήσετε μια βασική δοκιμή χρησιμοποιώντας Mocha και Chai, μπορείτε να ακολουθήσετε αυτά τα βήματα:

1. Εγκαταστήστε Mocha και Chai: Χρησιμοποιήστε το npm(Node Package Manager) για να εγκαταστήσετε Mocha και Chai στο έργο σας Node.js. Εκτελέστε την ακόλουθη εντολή στον κατάλογο του έργου σας:

npm install mocha chai --save-dev

2. Δημιουργία δοκιμαστικού αρχείου: Δημιουργήστε ένα νέο αρχείο, για παράδειγμα test.js, και εισαγάγετε τις ακόλουθες δηλώσεις για χρήση Mocha και Chai:

const chai = require('chai');  
const expect = chai.expect;  
  
describe('Example Test Suite',() => {  
  it('should pass the test',() => {  
    expect(2 + 2).to.equal(4);  
  });  
});

3. Εκτελέστε τη δοκιμή: Ανοίξτε το τερματικό και εκτελέστε την mocha  εντολή για να εκτελέσετε τις δοκιμές. Εάν όλα πάνε ομαλά, θα δείτε τα αποτελέσματα να εμφανίζονται στο τερματικό.

Αυτό το βασικό τεστ χρησιμοποιεί Mocha και Chai για να ελέγξει έναν απλό υπολογισμό. Στο παραπάνω παράδειγμα, ελέγχουμε ότι το αποτέλεσμα της 2 + 2 πράξης πρέπει να είναι ίσο με 4. Εάν το αποτέλεσμα είναι σωστό, το τεστ θα περάσει.

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

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

 

Χρήση ισχυρισμών και ερωτημάτων για την επαλήθευση των αποτελεσμάτων συνάρτησης

Κατά τη χρήση Mocha και Chai για δοκιμή, μπορείτε να χρησιμοποιήσετε ισχυρισμούς και ερωτήματα για να ελέγξετε τα αποτελέσματα των συναρτήσεων. Ακολουθούν μερικά παραδείγματα χρήσης ισχυρισμών και ερωτημάτων για τον έλεγχο των αποτελεσμάτων συναρτήσεων:

1. Χρησιμοποιήστε τον expect ισχυρισμό και το to.equal ερώτημα για να ελέγξετε το αποτέλεσμα μιας συνάρτησης που επιστρέφει μια συγκεκριμένη τιμή:

const result = myFunction();  
expect(result).to.equal(expectedValue);

2. Χρησιμοποιήστε τον ισχυρισμό «αναμένεται» και το ερώτημα to.be.true ή to.be.false για να ελέγξετε το αποτέλεσμα μιας συνάρτησης που επιστρέφει μια δυαδική τιμή:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. Χρησιμοποιήστε τον ισχυρισμό «αναμένεται» και το to.be.null ερώτημα ή to.be.undefined για να ελέγξετε το αποτέλεσμα μιας συνάρτησης που επιστρέφει μηδενική ή απροσδιόριστη τιμή:

const result = myFunction();  
expect(result).to.be.null; // or expect(result).to.be.undefined;

4. Χρησιμοποιήστε τον expect ισχυρισμό και το to.include ερώτημα για να ελέγξετε εάν μια τιμή περιλαμβάνεται σε έναν πίνακα ή μια συμβολοσειρά:

const result = myFunction();  
expect(result).to.include(expectedValue);

5. Χρησιμοποιήστε τον expect ισχυρισμό και το to.have.lengthOf ερώτημα για να ελέγξετε το μήκος ενός πίνακα ή συμβολοσειράς:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

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

 

Δημιουργία επιτυχημένων και αποτυχημένων δοκιμαστικών περιπτώσεων

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

1. Επιτυχής περίπτωση δοκιμής:

describe('myFunction',() => {  
  it('should return the expected result',() => {  
    // Arrange  
    const input = // provide the input for the function  
    const expected = // define the expected result  
  
    // Act  
    const result = myFunction(input);  
  
    // Assert  
    expect(result).to.equal(expected);  
  });  
});

2. Περίπτωση δοκιμής αποτυχίας:

describe('myFunction',() => {  
  it('should throw an error when invalid input is provided',() => {  
    // Arrange  
    const invalidInput = // provide invalid input for the function  
  
    // Act and Assert  
    expect(() => myFunction(invalidInput)).to.throw(Error);  
  });  
});

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

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

Καλύπτοντας τόσο επιτυχημένα όσο και σενάρια αποτυχίας στις δοκιμαστικές σας περιπτώσεις, μπορείτε να διασφαλίσετε ότι ο κώδικάς σας έχει δοκιμαστεί διεξοδικά και ότι χειρίζεται κατάλληλα διαφορετικές καταστάσεις.