Articles

Affichage des articles du juillet, 2017

Jenkins, SonarQ et Javascript: surcharger des règles

Image
Si vous utilisez SonarQ, il se peut qu'il affiche ce genre de choses: Ce qui est un peu stupide. Or il se peut qu'il affiche un grand nombre de faux positifs car: 1) Pas adapté au Web / JavaScript 2) Pas adapté aux frameworks comme Angular où nous avons potentiellement pleins de services à injecter dans le contrôleurs, et SonarQ va du coup nous sortir des erreurs car "trop de paramètres" Il existe néanmoins un moyen simple de remédier à cela. Dans le lien suivant, j'expliquer comment déclarer un sonar properties via jenkins:  http://julienroche.blogspot.fr/2017/07/jenins-sonar-et-application-web.html Il suffit de l'étendre afin d'injecter de la surcharge. Ces règles, vous pouvez les trouver sur le lien suivant:  http://dist.sonarsource.com/reports/coverage/rules_in_javascript.html Il suffit alors de spécifier les règles que nous ne souhaitons en utilisant le "sonar.issue.ignore.multicriteria": # Ignore...

Karma & JSON: karma-read-json5

Suite à l'article  Karma & Angular: charger des fichiers JSON "étendus" , je viens de publier un petit plugin pour aider au chargement de fichiers JSON, notamment ceux étendus:  karma-read-json5 Pour l'installer, il suffit de faire: npm install --save-dev --save-exact karma-read-json5 Pour le configurer, il faut bien penser à le déclarer à la fois dans la section "frameworks" mais aussi "plugins" de votre de configuration Karma: // Karma configuration // Generated on Sun Jul 16 2017 13:22:56 GMT+0200 (Paris, Madrid (heure d’été)) module . exports = function ( config ) { config . set ({ // base path that will be used to resolve all patterns (eg. files, exclude) basePath : ' ' , // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks : [ ' jasmine ' , ' readJSON ' ], // list of files...

Karma & Angular: charger des fichiers JSON "étendus"

J'utilise depuis longtemps le plugin " karma-read-json " qui est utile pour mes tests. En effet, cela permet de vérifier que mes services par exemple produise le bon modèle en sortie en se basant sur un appel REST. Du coup, je me fais un mock JSON de mon appel REST (issue très souvent d'un vrai appel pour être au plus prêt de la réalité) et je construis un fichier JSON qui contient le JSON espéré. Cela me permet de vérifier la non-régression de mon code mais aussi de fournir des exemples concrets de JSON que l'application va devoir manipuler. Parfois, dans les modèles que je définie dans mes services, je fais des modèles un peu plus complexe, qui peuvent contenir des valeurs comme "Infinity". Or l'api JSON présent dans nos navigateurs et dans les moteurs EcmaScript ne gère pas ce genre de valeurs, car se base sur la norme définie sur le lien suivant: http://json.org/ Cela est d'autant plus dommage que nous ne pouvons pas mettre p...

Jenins, Sonar et application Web / JavaScript

Bonjour Voici un petit exemple de configuration d'un job jenkins (et aussi un peu de son projet Web) afin de lier les résultats de tests et de couverture de code vers Sonar, en prenant bien en comptant certains soucis. 1 - Ne mettez pas d'espaces Aussi bien dans le nom du projet Jenkins que dans le chemin d'accès aux fichiers Junit / LCOV, vous ne devez pas mettre d'espaces. Ceci est indispensable, autrement, le plugin Sonar (et en règle générale, les plugins Jenkins) ne trouveront pas les fichiers (car ils ont tendances à ne pas échapper les espaces). Du coup, dans votre fichier karam.conf.js (par exemple), il est bien de préciser un emplacement "en dur" de vos fichiers de résultats: { // test results reporter to use   // possible values: 'dots', 'progress'   // available reporters: https://npmjs.org/browse/keyword/karma-reporter 'reporters' : [ 'junit' , 'coverage' , 'progress'...

EcmaScript & coercion: plus de prise de tête !

Image
Il y a quelques temps, j'avais fait un article pour expliquer la logique de comparaisons dans les expressions JavaScripts, afin de mettre en valeur les subtilités du langague:  http://julienroche.blogspot.fr/2016/01/javascript-operateur-et-expression.html Sans oublier le lien sur le jeux "Logical (Or Not)" afin de s'exercer sur cette logique:  http://julienroche.blogspot.fr/2016/02/apprendre-developper-en-jouant.html Désormais, je vous mets en avant ce lien:  http://dorey.github.io/JavaScript-Equality-Table/ Le but de cette petite application est de vous expliquer sous forme de grille les résultats de ces comparaisons, et de voir très rapidement le résultat: Un nice to have !