Domanda

Ho un file javascript piuttosto orribile e di grandi dimensioni che ho ereditato da uno sviluppatore che detesto. C'è un sacco di codice morto e trovo di aver passato molto tempo a refactoring di funzioni che non sono nemmeno chiamate.

Idealmente, voglio solo qualcosa che possa legarsi al motore js e tenere traccia di quando e quante volte vengono chiamate funzioni.

In FF, posso ottenere un elenco delle funzioni camminando sull'oggetto window e avvolgendole tutte dinamicamente in un metodo che registrerebbe la chiamata a loro, e quindi chiamerebbe la funzione normalmente.

Sfortunatamente, in IE, non posso usarlo perché non riesco a trovare un modo per ottenere un elenco di tutte le funzioni che sono state caricate. E non posso eseguire questa app in FF, poiché è orribilmente specifica per il browser. All'ultimo conteggio c'erano 138 righe contenenti " nuovo ActiveXObject (...) "

Aiuta, con uno strumento in grado di farlo, o almeno un modo per ottenere un elenco delle funzioni che IE7 ha caricato dallo script utente.

Grazie -c

È stato utile?

Soluzione

Prova JSCoverage .

  

JSCoverage è uno strumento che misura   copertura del codice per i programmi JavaScript.

     

JSCoverage funziona strumentando il file   Codice JavaScript utilizzato nelle pagine Web.   Vengono raccolte le statistiche sulla copertura del codice   mentre il codice JavaScript strumentato   viene eseguito in un browser Web.

La strumentazione può essere eseguita al volo se si imposta JSCoverage Server per l'esecuzione come proxy HTTP e si configura il browser per attraversarlo.

Un modo per usarlo è:

  1. Avvia JSCoverage Server in modalità proxy:
jscoverage-server --proxy --verbose
  1. Configura il tuo browser per utilizzare localhost: 8080 come proxy HTTP.
  2. Aggiungi il seguente bookmarklet, assicurandoti che il percorso relativo a jscoverage sia corretto:
javascript:void(window.open('jscoverage/jscoverage.html'))
  1. Esegui i tuoi test.
  2. Esegui il bookmarklet. Verrà visualizzata una nuova finestra che mostra i risultati della copertura.

Altri suggerimenti

Esiste un'estensione Firebug per la copertura del codice JS ...

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

Sfortunatamente, non è attualmente aggiornato per l'ultima versione di FF.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top