Jtestを使用してJavaプロジェクトの解析およびテストを実行するための準備を行います。
...
Code Block |
---|
>mvn -version Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T03:41:47+09:00) Maven home: C:\apache-maven-3.6.0\bin\.. Java version: 117.0.84.0_201-1-ojdkbuild, vendor: Oracle Corporation, runtime: C:\jtest_hanson\openjdk-1.8.0.201\jreProgram Files\Java\jdk-17.0.4.1 Default locale: ja_JP, platform encoding: MS932 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" |
Maven のバージョン情報が表示されない場合は、ご利用環境の設定を見直してください。
サンプルプロジェクトのビルド
demo プロジェクトがビルドできることを確認します。
demoプロジェクトディレクトリに移動し、「mvn clean compile」コマンドを実行してdemoプロジェクトをビルドします。
Code Block jtest\examples\demo>mvn clean compile [INFO] Scanning for projects... [INFO] [INFO] -------------------------< com.parasoft:demo >-------------------------- [INFO] Building Demo Project 1.0.0 [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ demo --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ demo --- [WARNING] Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 18 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ demo --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding MS932, i.e. build is platform dependent! [INFO] Compiling 66 source files to C:\
...
parasoft_jtest_2023.1.2_win32_x86_64\jtest\examples\demo\target\classes [INFO] /C:/
...
parasoft_jtest_2023.1.2_win32_x86_64/jtest/examples/demo/src/main/java/examples/mock/Interpreter.java: C:\parasoft_jtest_2023.1.2_win32_x86_64\jtest\examples\demo\src\main\java\examples\mock\Interpreter.javaは、削除用にマークされた推奨されないAPIを使用またはオーバーライドしています。 [INFO] /C:/
...
Uparasoft_jtest_2023.1.2_win32_x86_64/jtest/examples/demo/src/main/java/examples/mock/Interpreter.java: 詳細は、-Xlint:removalオプションを指定して再コンパイルしてください。 [INFO] /C:/parasoft_jtest_2023.1.2_win32_x86_64/jtest/examples/demo/src/main/java/examples/stackmachine/StackList.java: 入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。 [INFO] /C:/
...
parasoft_jtest_2023.1.2_win32_x86_64/jtest/examples/demo/src/main/java/examples/
...
stackmachine/
...
StackList.java: 詳細は、-Xlint:
...
uncheckedオプションを指定して再コンパイルしてください。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:
...
7.
...
326 s [INFO] Finished at:
...
2023-08-
...
10T14:
...
09:
...
49+09:00 [INFO] ------------------------------------------------------------------------
「BUILD SUCCESS」 が出力されビルドが成功したことを確認します。
ビルドエラーが発生する場合は、ご利用環境の環境設定を見直してください。
テストコンフィギュレーション
テストコンフィギュレーションは、Jtest でどのようにコードを解析するかを定義したものです。
OWASP への準拠、メトリクスの計測、単体テストの実行などテストの目的に合わせて解析に利用するルールの設定や、解析の範囲、実行時のパラメーターを定義します。
「jtestcli -listconfigs」コマンドを実行すると、現在使用可能なテストコンフィギュレーションの一覧を表示できます。
Code Block |
---|
>jtestcli -listconfigs Parasoft Jtest 20222023.1.02 (10.6.02.202205101413202307131601) -- Copyright (C) 20222023 Parasoft Corporation [Jtest] 匿名の使用状況データの送信は無効です。有効化するには使用状況データの送信は無効です。有効化するには usage.reporting.enabled を使用します [Jtest] ライセンス: Jtestマシン 10.6 のローカル ライセンスを初期化していますID WIN32-15cc8c3 (Default) [Jtest] 利用可能なテスト ライセンスコンフィギュレーション: Custom Edition をアクティブ化しています38 [Jtest] ライセンス: 機能をチェックしています ... ~ 中略 ~ [Jtest] 利用可能なテスト コンフィギュレーション: 85 builtin://Android Guidelines [Jtest] builtin://Calculate Application Coverage [Jtest] builtin://CERT for Java [Jtest] builtin://CodeCERT Smellsfor [Jtest] builtin://Critical Rules Java Guidelines [Jtest] builtin://CWECode 4.4Smells [Jtest] builtin://CWECritical Top 25 + On the Cusp 2020 Rules [Jtest] builtin://CWE Top 25 2020 [Jtest] builtin://Demo Configuration [Jtest] builtin://DISA-ASD-STIG [Jtest] builtin://Find Duplicated Code [Jtest] builtin://Find Memory Problems4.10 |