質問

私が嫌う開発者から継承した、かなり恐ろしくて大きなjavascriptファイルがあります。デッドコードがたくさんあり、呼び出されない関数のリファクタリングに多くの時間を費やしたことがわかりました。

理想的には、jsエンジンに結び付けて、関数が呼び出されるタイミングと回数を追跡できるものが欲しいだけです。

FFでは、ウィンドウオブジェクトをウォークすることで関数のリストを取得し、それらの呼び出しをログに記録するメソッドですべてを動的にラップしてから、通常どおり関数を呼び出します。

残念ながら、IEでは、ロードされたすべての関数のリストを取得する方法を見つけることができないため、これを使用できません。そして、このアプリは恐ろしくブラウザ固有であるため、FFで実行できません。最後のカウントでは、" new ActiveXObject(...)"

を含む138行がありました

これを実行できるツールを使用するか、少なくともIE7がユーザースクリプトから読み込んだ関数のリストを取得する方法を使用してヘルプを作成します。

ありがとう -c

役に立ちましたか?

解決

JSCoverage をお試しください。

  

JSCoverageは測定するツールです   JavaScriptプログラムのコードカバレッジ。

     

JSCoverageは、   Webページで使用されるJavaScriptコード。   コードカバレッジ統計が収集されます   インストゥルメントされたJavaScriptコード   Webブラウザーで実行されます。

HTTPプロキシとして実行するようにJSCoverage Serverを設定し、それを通過するようにブラウザを構成する場合、インスツルメンテーションはオンザフライで実行できます。

それを使用する1つの方法:

  1. プロキシモードでJSCoverageサーバーを起動します:
jscoverage-server --proxy --verbose
  1. ブラウザを設定して、localhost:8080をHTTPプロキシとして使用します。
  2. 次のブックマークレットを追加し、jscoverageへの相対パスが正しいことを確認します。
javascript:void(window.open('jscoverage/jscoverage.html'))
  1. テストを実行します。
  2. ブックマークレットを実行します。カバレッジ結果を示す新しいウィンドウがポップアップ表示されます。

他のヒント

JSコードカバレッジ用のFirebug拡張機能があります...

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

残念ながら、FFの最新バージョン用に現在更新されていません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top