2017-05-12 6 views
2

私はWYSIWIGアニメーションエディタを使って多くの依存関係を含むスライダ/広告バナーを設計しています。私は、重要な事柄を特定するのに役立つコードのレポートを実行したいと考えています。そして、サイズによってそれをソートしますいくつかのPHP https://regex101.com/r/sXrHLI/1すべて使用されているJavascript関数を報告してください

Sort preg_match_all by named group size

考えは大きな識別することにより、ということである私は、すべての機能にはJavaScriptを検索し、部品の各機能を返しますカップルクール開始を持っています使用されていない関数を削除することができます。私の次のステップは、ドキュメントの読み込みでどの関数が呼び出されたのか、そしてクリック/マウスオーバーなどのアクションで読み込まれ呼び出される関数ツリーを特定することです。私は私のDOMにロードされているすべての機能を伝え、この便利な機能を持っているが

は、それが十分ではありません:私は、私はPHP /シェルでスクリプトに使用できるソリューションを探しています

var functionArray; 
$(document).ready(function(){ 
    var objs = []; 
    for (var obj in window){ 
     if(window.hasOwnProperty(obj) && typeof window[obj] === 'function') objs.push(obj); 
    }; 
    console.log(obj)); 
}); 

ページロードをエミュレートする - ここで私の専門用語が私にはうまくいかず、コールスタックを探していますか?タイムライン、インタプリタ、フレームワーク、エンジン、パーサが必要ですか?

私は、次のすべての要素、またはこの正規表現のようなものに一致するすべての要素のクリック/ホバーイベントをエミュレートする必要があります。

(?|\$\(['"](\.\w*)["']|getElementsByClassName\('(\w*)'\)) 
(?|\$\(['"](\#\w*)["']|getElementsById\('(\w*)'\)) 

私はのマスターリストを作ることができるような機能をトリガーするイベントを見つけるために、最終的なコードにある必要がある関数。

+0

作成しているライブラリの場合、または使用する関数を使用するための主要な使用例ですか? Chromeの開発ツールのようなものではいつでもプロファイリングを行うことができます。後者の場合、実行されるコードのスタックトレースとタイムラインが表示されます。前者なら、より多くのパワー!私は開発コミュニティに有益であることが分かりました。それがすぐに思い浮かぶものはありません。ウラジミールの答えは間違いなく、あなたの目標を部分的に助けることができます。 –

+0

もう少し進んだら、php、html、css、jsファイルへの変更を含めて、コードベース全体を縮小する方法としてオープンソースになるでしょう。 – Alan

答えて

1

私は、このツールを見てみるために、あなたをお勧めしたい: Istanbul

それを使用すると、以下の操作を行うことができます

  1. それを展開してコード
  2. のインストルメントバージョンを作成(カバレッジ情報はブラウザ内のグローバル変数の1つに集められます)
  3. ファイルへのコピーカバレッジ情報(私が覚えている限りlcovデータ)
  4. あなたはさらに行くように感じる場合は、あなたが実際にUIテストを自動化するためにセレンとJVM-キュウリのようなものを使用することができます

それでコードカバレッジレポートを生成します。ただし、ページをリロードするたびにカバレッジデータをダンプする必要があります。次に、異なる実行からのカバレッジを結合し、この統合lcovデータを使用して全体的なレポートを生成する必要があります。

プロセス全体が少し重いですが、それを再考するのが良い方法です。

このデータをユニットテストカバレッジ情報と組み合わせて、共同レポートを作成することもできます。

また、sonarサーバーを設定して、複数のバージョンのカバレッジレポートを保存し、テストの違いを比較することもできます。

+0

おかげで、イスタンブールはNode.jsサイトをテストするように見えますが、私のサイトは多くのjavascriptを使用するlaravelサイトですが、まだ使用できますか?私はキュウリをあなたが示唆したように見ている。 – Alan

+0

これは、コードを、同じ機能を持ちながら途中でコードカバレッジメトリックを生成するものに置き換えることで、JavaScriptコードを計測します。理論的には、何かと価値があるはずです。少なくとも角度ベースのアプリケーションでは、完全に機能します。それを試してみてください。 –

1

私はGoogle Developerからの講演を見ていましたが、私はあなたの投稿を考えました。次のリンクはmore intel on Dev Tools Coverage Profilerですが、以下はハイレベルです。

Googleの開発ツールでは、使用したJSとCSSコードに関するレポートを生成するためのきれいな機能が搭載されています。これは検索対象の本質に沿っています(若干異なる媒体です)。自動化するのが少し難しいですが、そうでなければ、あなたが探していたものを正確に含んでいます)。

デベロッパーツールを開き、左下にある楕円を開いて(画像参照)、レコードボタン[画像1を参照]をクリックします。キャプチャしたいステップを実行します。あなたはすべてのコードを経由して使用した(緑)、何を(赤)を使用していなかったものを見ることができるにインタラクティブな画面が得られます

selecting coverage

画像1 [画像2を参照してください] - 楕円をこの記事を編集しているときに、このStackOverflowのページのためのインタラクティブ・レポートの全スクリーンショット - カバレッジ・ツールに

interactive report

画像2を取得するためにドロップダウン。

+0

後で私のことを考えてくれてありがとう、私はこれを試して待つことができない。 – Alan

関連する問題