Question

J'ai un fichier javascript plutôt volumineux et volumineux que j'ai hérité d'un développeur que je déteste. Il y a beaucoup de code mort, et je constate que j'ai passé beaucoup de temps à refactoriser des fonctions qui ne sont même pas appelées.

Idéalement, je veux juste quelque chose qui puisse s’intégrer dans le moteur de js et garder trace du moment et du nombre de fois où les fonctions sont appelées.

En FF, je peux obtenir une liste des fonctions en parcourant l’objet window, puis les envelopper de manière dynamique dans une méthode qui enregistre l’appel, puis appelle la fonction normalement.

Malheureusement, dans IE, je ne peux pas l'utiliser car je n'arrive pas à trouver un moyen d'obtenir une liste de toutes les fonctions qui ont été chargées. Et je ne peux pas exécuter cette application en FF, car elle est affreusement spécifique à un navigateur. Au dernier décompte, 138 lignes contenaient "new ActiveXObject (...)"

Aide, avec un outil capable de faire cela, ou à tout le moins, un moyen d'obtenir une liste des fonctions chargées par IE7 à partir du script utilisateur.

Merci -c

Était-ce utile?

La solution

Essayez JSCoverage .

  

JSCoverage est un outil qui mesure   couverture de code pour les programmes JavaScript.

     

JSCoverage fonctionne en instrumentant le   Code JavaScript utilisé dans les pages Web.   Les statistiques de couverture de code sont collectées   tandis que le code JavaScript instrumenté   est exécuté dans un navigateur Web.

L'instrumentation peut être effectuée à la volée si vous configurez le serveur JSCoverage pour qu'il s'exécute en tant que proxy HTTP et configurez votre navigateur pour le parcourir.

Une façon de l'utiliser est:

  1. Lancez JSCoverage Server en mode proxy:
jscoverage-server --proxy --verbose
  1. Configurez votre navigateur pour utiliser localhost: 8080 comme proxy HTTP.
  2. Ajoutez le bookmarklet suivant en vous assurant que le chemin relatif à jscoverage est correct:
javascript:void(window.open('jscoverage/jscoverage.html'))
  1. Lancez vos tests.
  2. Exécutez le bookmarklet. Une nouvelle fenêtre s’ouvrira pour vous montrer les résultats de la couverture.

Autres conseils

Il existe une extension Firebug pour la couverture de code JS ...

FirebugCodeCoverage 0.1 ( https://addons.mozilla.org// US / firefox / addon / 4837 )

Malheureusement, il n'est pas actuellement mis à jour pour la dernière version de FF.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top