Mavenプロジェクト 準備
Jtestを使用してJavaプロジェクトの解析およびテストを実行するための準備を行います。
Maven 起動確認
「mvn -version」コマンドを実行して、Mavenが実行可能かを確認します。
>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: 17.0.4.1, vendor: Oracle Corporation, runtime: C:\Program 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プロジェクトをビルドします。
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」コマンドを実行すると、現在使用可能なテストコンフィギュレーションの一覧を表示できます。
>jtestcli -listconfigs
Parasoft Jtest 2023.1.2 (10.6.2.202307131601) -- Copyright (C) 2023 Parasoft Corporation
[Jtest] 使用状況データの送信は無効です。有効化するには usage.reporting.enabled を使用します
[Jtest] ライセンス: マシン ID WIN32-15cc8c3 (Default)
[Jtest] 利用可能なテスト コンフィギュレーション: 38
[Jtest] builtin://Android Guidelines
[Jtest] builtin://Calculate Application Coverage
[Jtest] builtin://CERT for Java
[Jtest] builtin://CERT for Java Guidelines
[Jtest] builtin://Code Smells
[Jtest] builtin://Critical Rules
[Jtest] builtin://CWE 4.10