2016-11-28 2 views
0

Mon équipe a eu le problème occasionnel de développeurs poussant des tests Karma/Protractor contenant l'appel de la fonction .only(), ce qui bien sûr fait que notre Jenkins etc. exécute seulement ce test particulier, permettant potentiellement aux bogues de passer. En tant que tel, j'ai pensé que j'essaierais de trouver un moyen d'empêcher que cela se produise sans être découvert. Tout d'abord, j'ai pensé que j'utiliserais simplement JSHint pour souligner l'appel de la fonction, mais je n'arrive pas à trouver un moyen de le faire. J'ai également regardé ESLint pour ses plugins personnalisés, mais je ne peux pas comprendre comment écrire un plugin pour ce cas particulier.Comment faire pour appeler un appel de fonction spécifique en JavaScript?

Pourriez-vous me donner des idées sur la façon de résoudre ce problème? Des solutions alternatives sont également appréciées, bien sûr!

+1

Rédigez votre propre règle/plugin https://www.npmjs.com/package/generator-eslint –

Répondre

0

Voici un exemple (probablement pas de travail) de création d'un plugin qui signale une erreur si l'analyseur lit un appel only(). Encore une fois, le kilométrage peut varier, mais il devrait être suffisant pour vous aider à démarrer. Cela ne fonctionne pas si elle voit a.only(), nous vous laisserons le choix.

module.exports.rules = { 
    "no-only-call": context => ({ 
     CallExpression: (node) => { 
      if(node.callee.name == "only"){ 
       context.report(node, 'Calls to only() are disallowed'); 
      } 
     } 
    }) 
};