Testen von Funktionen und Methoden mit Chai

 Testfunktionen zum Auslösen der richtigen Ausnahmen

Um auf Ausnahmen zu testen, können wir die throw von bereitgestellte Behauptung verwenden Chai. Mit dieser Behauptung können wir die Art der Ausnahme angeben, die ausgelöst werden soll, sowie alle zusätzlichen Details, die wir validieren möchten. Indem wir diese Behauptung in unsere Testfälle einbeziehen, können wir sicherstellen, dass sich unsere Funktionen wie erwartet verhalten und Fehlerbedingungen angemessen behandeln.

Betrachten wir ein Beispiel, in dem wir eine Funktion haben, die zwei Zahlen dividiert. Wir möchten sicherstellen, dass die Funktion bei der Division durch Null eine Ausnahme auslöst. Wir können einen Testfall schreiben, indem wir die Chai Behauptung von verwenden throw, um zu prüfen, ob die Funktion DivideByZeroError bei der Division durch Null korrekt ein a auslöst.

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);  
  });  
});  

Im obigen Beispiel verwenden wir die to.throw Behauptung, um zu überprüfen, ob die divide Funktion DivideByZeroError bei der Division durch Null ein a auslöst. Die Behauptung wird in eine Funktion eingeschlossen, damit sie die Ausnahme abfangen und die erforderlichen Prüfungen durchführen kann.

Indem wir Tests für das korrekte Auslösen von Ausnahmen einbeziehen, können wir sicherstellen, dass unsere Funktionen Fehlerbedingungen angemessen behandeln und aussagekräftiges Feedback geben, wenn unerwartete Situationen auftreten. Dies trägt dazu bei, die Gesamtqualität und Zuverlässigkeit unseres Codes zu verbessern.

Zusammenfassend lässt sich sagen, dass das Testen von Funktionen, die Ausnahmen auslösen, ein wichtiger Aspekt des Softwaretests ist. Mit Chai der throw Behauptung können wir leicht überprüfen, ob unsere Funktionen bei Bedarf die erwarteten Ausnahmen auslösen. Durch die Einbindung dieser Tests in unsere Teststrategie können wir die Robustheit unserer Anwendungen erhöhen und ein besseres Benutzererlebnis bieten.

Im dritten Artikel der Reihe „Node.js, Mocha und Chai “ werden wir untersuchen, wie man Funktionen und Methoden mit testet Chai. Chai ist eine leistungsstarke Assertionsbibliothek zum Testen von Werten und Ergebnissen im JavaScript Code.

 

Testen von Objektmethoden und ihrem Verhalten

Um die Methoden eines Objekts zu überprüfen, können wir Behauptungen verwenden, die von Test-Frameworks wie Mocha und bereitgestellt werden Chai. Diese Aussagen ermöglichen es uns, Aussagen über die Eigenschaften und das Verhalten von Objekten zu treffen.

Betrachten wir ein Beispiel, in dem wir ein Objekt calculator mit Methoden zur Addition, Subtraktion, Multiplikation und Division haben. Wir möchten sicherstellen, dass diese Methoden die richtigen Ergebnisse liefern. Wir können Testfälle schreiben, indem Chai wir die Behauptungen von verwenden, um das Verhalten dieser Methoden zu überprüfen.

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);  
  });  
});  

Im obigen Beispiel verwenden wir Chai die Behauptung von expect, um zu überprüfen, ob die Methoden des calculator Objekts die erwarteten Ergebnisse zurückgeben. Jeder Testfall konzentriert sich auf eine bestimmte Methode und prüft, ob sie für eine bestimmte Eingabe die richtige Ausgabe zurückgibt.

Durch die Ausführung dieser Testfälle können wir sicherstellen, dass sich die Methoden des calculator Objekts wie erwartet verhalten und genaue Ergebnisse liefern.

Neben der Überprüfung der Rückgabewerte von Methoden können wir Assertions auch verwenden, um andere Eigenschaften und Verhalten von Objekten zu überprüfen. Chai stellt eine breite Palette von Behauptungen bereit, die es uns ermöglichen, verschiedene Arten von Behauptungen zu Objekten zu machen, z. B. die Überprüfung von Eigenschaftswerten, die Überprüfung von Methodenaufrufen und mehr.

Indem wir die Methoden eines Objekts gründlich testen, können wir deren Korrektheit und Zuverlässigkeit sicherstellen, was zur Gesamtqualität unserer Codebasis beiträgt.