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

Δημιουργία βασικού τεστ χρησιμοποιώντας Μόκα και Τσάι

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

1. Εγκαταστήστε το Mocha and 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);
  });
});

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

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

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