Δημιουργία βασικού τεστ χρησιμοποιώντας 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);
});
});
Στην επιτυχή περίπτωση δοκιμής, ορίζετε την είσοδο για τη συνάρτηση και το αναμενόμενο αποτέλεσμα. Στη συνέχεια, καλείτε τη συνάρτηση με την είσοδο και βεβαιώνετε ότι το αποτέλεσμα ταιριάζει με την αναμενόμενη τιμή.
Στην περίπτωση δοκιμής αποτυχίας, παρέχετε μη έγκυρη είσοδο στη συνάρτηση και βεβαιώνετε ότι παρουσιάζει σφάλμα. Αυτό διασφαλίζει ότι η συνάρτηση χειρίζεται σωστά τις μη έγκυρες συνθήκες εισαγωγής ή σφάλματος.
Καλύπτοντας τόσο επιτυχημένα όσο και σενάρια αποτυχίας στις δοκιμαστικές σας περιπτώσεις, μπορείτε να διασφαλίσετε ότι ο κώδικάς σας έχει δοκιμαστεί διεξοδικά και ότι χειρίζεται κατάλληλα διαφορετικές καταστάσεις.