Mocking de la date actuelle dans les tests de Jest

Il y a des situations où new Date() ou Date.now est utilisée dans le code de l’application. Ce code doit être testé, et il est toujours difficile de se rappeler comment le moquer. L’utilisation de Date.now vs new Date() Date.now() retourne le temps au format unix, c’est à dire “le nombre de millisecondes écoulées depuis le 1er janvier 1970 00:00:00 UTC”. (voir Date.now sur MDN). new Date() retourne un nouvel objet Date, et se comporte différemment en fonction de l’entrée qui lui est passée....

25 aoĂ»t 2019 Â· 3 min Â· Ludovic Wyffels

Jest ignore ou exclure le fichier/fonction/état de la couverture de test

En génie logiciel, la couverture de code est une mesure utilisée pour décrire le taux de code source exécuté d’un programme quand une suite de test est lancée. Un programme avec une haute couverture de code, mesurée en pourcentage, a davantage de code exécuté durant les tests ce qui laisse à penser qu’il a moins de chance de contenir de bugs logiciels non détectés, comparativement à un programme avec une faible couverture de code1,2....

18 aoĂ»t 2019 Â· 5 min Â· Ludovic Wyffels

Prise en main de PM2, le gestionnaire de processus Node.js

Utilisations de PM2 PM2 a beaucoup d’utilisations, jetons un coup d’oeil à quelques-unes d’entre elles: Redémarrage après un crash: PM2 nous permet de maintenir les processus en cours d’exécution Suivi et gestion des processus à distance: un portail web vous permet de garder un oeil sur les precessus distants et de les gérer. Il ne se contente pas d’exécuter des applications Node: PM2 n’est pas limité aux seuls processus Node....

1 aoĂ»t 2019 Â· 3 min Â· Ludovic Wyffels

Premiers pas avec LoopBack 4

LoopBack 4 est un framework d’API open-source pour Node.js. La dernière version a adopté les dernières fonctionnalités de ES2016/2017/2018, supporte TypeScript et intègre de nouveaux standards tels que OpenAPI Spec et GraphQL, parmi d’autres. Cet article a pour but de guider les débutants à travers la documentation et d’expliquer les points cruciaux nécessaires pour commencer à construire un projet d’API LoopBack 4 maintenable. Installation Assurez-vous d’avoir Node.js version 8+ installé sur votre machine....

29 juin 2019 Â· 8 min Â· Ludovic Wyffels

Mocking des classes ES6 dans les tests unitaires

Cet article passe en revue certains modèles pouvant être utilisés pour tester les classes ES6. Les exemples utiliseront l’auto-mocking du module Jest mais devraient être portables à d’autres bibliothèques de mocking de module (par exemple Proxyquire) avec quelques modifications. Dans cet article, nous avons exploré comment définir des modèles Sequelize en utilisant des classes ES6. Un des avantages d’une telle approche est qu’elle permet des tests unitaires faciles, elle permet d’instancier le modèle sans le bagage de toute Sequelize (et/ou une base de données)....

11 mai 2019 Â· 2 min Â· Ludovic Wyffels

Utilisation des classes ES6 pour les modèles Sequelize 4 ou 5

La spécification ES2015 ou ES6 a introduit la class en JavaScript. Des bibliothèques telles que React sont passées de React.createClass à la class MyComponent extends React.Component, c’est-à-dire qu’ils sont passés de l’utilisation de leur propre constructeur à l’utilisation d’un langage intégré pour transmettre l’intention du programmeur. Pour la couche de persistance d’une application Web Node.js, quelques bases de données me viennent à l’esprit, comme MongoDB (éventuellement associé à mongoose), ou une association de clés-valeurs comme Redis....

10 mai 2019 Â· 4 min Â· Ludovic Wyffels

Sequelize DataTypes: guide pratique

Les DataTypes sont au coeur de la bibliothèque Sequelize. Ceci est un guide pratique et complet pour compenser la documentation officielle clairsemée de Sequelize sur le sujet. Tout d’abord, DataTypes contient à la fois les types et les générateurs pour les valeurs par défaut: NOW , UUIDV1 et UUIDV4 sont des valeurs par défaut spéciales. Les endroits où vous êtes susceptible de rencontrer des DataTypes se trouvent dans la définition du champ de modèle et dans les définitions de migration....

10 mai 2019 Â· 3 min Â· Ludovic Wyffels

Changer d'environnement Node.js

Si vous travaillez sur plus d’un projet à la fois, travaillez beaucoup en open source ou si vous décidez de revenir à un projet que vous avez réalisé il y a un an, il y a de fortes chances pour que vous deviez changer de version de Node.js. Il se peut que quelques dépendances ne fonctionnent que sur une version de Node.js spécifique. Vous pouvez utiliser nvm pour changer vos versions de node....

7 mai 2019 Â· 3 min Â· Ludovic Wyffels