...
demoプロジェクトディレクトリに移動します。
Code Block cd <JTEST_HOME>\examples\demo
Maven から Jtest の静的解析を実行します。次のコマンドを実行してください。
Code Block demo>mvn jtest:jtest -Djtest.config="builtin://Critical Rules"
「BUILD SUCCESS」 が出力され Maven ビルドが成功したことを確認します。
Code Block [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
01:02 min[INFO] Total time:
201810.857 s [INFO] Finished at:
092021-
07T1506-
5714T14:
3354:
23+09:00
[INFO] ------------------------------------------------------------------------
- 終了後、<JTEST_HOME>\examples\demo\target\jtest ディレクトリにレポート (report.html, report.xml) が生成されます。
...
- <JTEST_HOME>\examples\demo\target\jtest ディレクトリに生成されたreport.htmlを開きます。
- 「すべての指摘事項 カテゴリごと」では静的解析ルールごとに検出された違反の件数を確認します。
- 「作成者ごとの指摘事項」ではコードの作成者別に違反の件数および内容を確認します。
・コーディング規約チェックの結果- コーディング規約チェックの結果
demo/src/main/java/examples/eval/Simple.javaの24行目で、map()メソッドのcase文においてcase 10ではなくcase10(空白なし)を使用していることが示されています。
これは単純な入力ミスですが、値として10が渡された時にクラスは不正な結果を生成します。
- フロー解析の結果
demo/src/main/java/examples/flowanalysis/AlwaysCloseGSS.java の 30 行目で「”context” は null の可能性がある」ことが示されています。
レポートでは30 行目の指摘に至るまでのパスとして以下の流れを確認することが出来ます。20 行目: “context” に null 値の代入
22 行目: GSSException がスローされる
26,27 行目: 例外処理
30 行目: null 値の “context” に対して context.dispose() の呼出しでNullPointerException が発生する可能性がある
- コーディング規約チェックの結果
- 「ファイルごとの指摘事項」では、プロジェクト、パッケージおよびファイルごとに検出された違反の件数や違反の詳細を確認します。
- 「アクティブなルール」では、使用されたルールを確認します。
- 「テスト パラメーター」では、Jtest 実行オプションを確認できます。
...
demoプロジェクトのソースコードのメトリクスを計測し、レポートを生成します。生成されたレポートを参照し、メトリクスを確認します。
ここでは、メトリクスの計測のために「builtin://Metrics」テストコンフィギュレーションを使用します。
demoプロジェクトディレクトリに移動します。
Code Block cd <JTEST_HOME>\examples\demo
Maven から Jtest の静的解析を実行します。次のコマンドを実行してください。
Code Block demo>mvn jtest:jtest Djtest.config="builtin://Metrics"
「BUILD SUCCESS」 が出力され Maven ビルドが成功したことを確認します。
Code Block [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
01:02 min[INFO] Total time:
201810.857 s [INFO] Finished at:
092021-
07T1506-
5714T14:
3354:
23+09:00
「BUILD SUCCESS」 が出力され Maven ビルドが成功したことを確認します。[INFO] ------------------------------------------------------------------------
- 終了後、<JTEST_HOME>\examples\demo\target\jtest ディレクトリにレポート (report.html, report.xml, metrics.xml) が生成されます。
...