Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.11 KB

3-parts-in-name.french.md

File metadata and controls

54 lines (39 loc) · 2.11 KB

Incluez 3 parties dans chaque nom de test



Un paragraphe d'explication

Un rapport de test devrait indiquer si la révision actuelle de l'application satisfait aux exigences des personnes qui ne sont pas nécessairement familières avec le code : le testeur, l'ingénieur DevOps qui déploie et vous dans deux ans. Cela peut être mieux réalisé si les tests décrivent le niveau d'exigence et comprennent 3 parties :

(1) Qu'est-ce qui est testé ? Par exemple, la méthode ProductsService.addNewProduct

(2) Dans quelles circonstances et dans quel scénario ? Par exemple, aucun prix n'est transmis à la méthode

(3) Quel est le résultat attendu ? Par exemple, le nouveau produit n'est pas approuvé



Exemple de code : un nom de test qui comprend 3 parties

//1. unité testée
describe('Service Produits', () => {
  describe('Ajoute un nouveau produit', () => {
    //2. scénario et 3. attente
    it('Quand aucun prix n\'est spécifié, alors le statut du produit est en attente d\'approbation', () => {
      const newProduct = new ProductService().add(...);
      expect(newProduct.status).to.equal('validationEnAttente');
    });
  });
});



Contre exemple de code : il faut lire l'intégralité du code du test pour comprendre l'intention

describe('Service Produits', () => {
  describe('Ajoute un nouveau produit', () => {
    it('Devrait retourner le bon statut', () => {
      //hmm, quelle est cette vérification de test ? quels sont le scénario et les attentes ?
      const newProduct = new ProductService().add(...);
      expect(newProduct.status).to.equal('validationEnAttente');
    });
  });
});



« Un exemple à suivre : le rapport de test ressemble au document des spécifications »

Extrait du blog de « 30 bonnes pratiques de test avec Node.js » par Yoni Goldberg

Un exemple de rapport de test