Fonctions et méthodes de test avec Chai

 Fonctions de test pour lever les bonnes exceptions

Pour tester les exceptions, nous pouvons utiliser l' throw assertion fournie par Chai. Cette assertion nous permet de spécifier le type d'exception qui doit être levée et tous les détails supplémentaires que nous voulons valider. En incluant cette assertion dans nos cas de test, nous pouvons nous assurer que nos fonctions se comportent comme prévu et gèrent les conditions d'erreur de manière appropriée.

Prenons un exemple où nous avons une fonction qui divise deux nombres. Nous voulons nous assurer que la fonction lève une exception lors de la division par zéro. Nous pouvons écrire un cas de test en utilisant Chai l' throw assertion de pour vérifier si la fonction lance correctement a DivideByZeroError lors de la division par zéro.

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

Dans l'exemple ci-dessus, nous utilisons l' to.throw assertion pour vérifier que la divide fonction renvoie a DivideByZeroError lors de la division par zéro. L'assertion est encapsulée dans une fonction afin qu'elle puisse intercepter l'exception et effectuer les vérifications nécessaires.

En incluant des tests pour le lancement correct d'exceptions, nous pouvons nous assurer que nos fonctions gèrent les conditions d'erreur de manière appropriée et fournissent des commentaires significatifs lorsque des situations inattendues se produisent. Cela contribue à améliorer la qualité et la fiabilité globales de notre code.

En conclusion, tester les fonctions qui lèvent des exceptions est un aspect important des tests logiciels. Avec l'assertion Chai de throw, nous pouvons facilement vérifier que nos fonctions lèvent les exceptions attendues lorsque cela est nécessaire. En intégrant ces tests dans notre stratégie de test, nous pouvons améliorer la robustesse de nos applications et offrir une meilleure expérience utilisateur.

Dans le troisième article de la série "Node.js, Mocha, and Chai ", nous verrons comment tester des fonctions et des méthodes à l'aide de Chai. Chai est une puissante bibliothèque d'assertions pour tester les valeurs et les résultats dans JavaScript le code.

 

Tester les méthodes objet et leurs comportements

Pour vérifier les méthodes d'un objet, nous pouvons utiliser des assertions fournies par des frameworks de test tels que Mocha et Chai. Ces assertions nous permettent de faire des assertions sur les propriétés et le comportement des objets.

Considérons un exemple où nous avons un objet appelé calculator avec des méthodes d'addition, de soustraction, de multiplication et de division. Nous voulons nous assurer que ces méthodes renvoient les bons résultats. Nous pouvons écrire des cas de test en utilisant Chai les assertions de pour vérifier le comportement de ces méthodes.

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

Dans l'exemple ci-dessus, nous utilisons Chai l' expect assertion de pour vérifier que les méthodes de l' calculator objet renvoient les résultats attendus. Chaque cas de test se concentre sur une méthode spécifique et vérifie s'il renvoie la sortie correcte pour une entrée donnée.

En exécutant ces cas de test, nous pouvons nous assurer que les méthodes de l' calculator objet se comportent comme prévu et fournissent des résultats précis.

En plus de vérifier les valeurs de retour des méthodes, nous pouvons également utiliser des assertions pour vérifier d'autres propriétés et comportements des objets. Chai fournit un large éventail d'assertions qui nous permettent de faire différents types d'assertions sur des objets, telles que la vérification des valeurs de propriété, la vérification des invocations de méthodes, etc.

En testant minutieusement les méthodes d'un objet, nous pouvons garantir leur exactitude et leur fiabilité, ce qui contribue à la qualité globale de notre base de code.