Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 プロジェクトがビルドできることを確認します。

  1. 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:\

...

  1. parasoft_jtest_2023.1.2_win32_x86_64\jtest\examples\demo\target\classes
    [INFO] /C:/

...

  1. 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:/

...

  1. 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:/

...

  1. parasoft_jtest_2023.1.2_win32_x86_64/jtest/examples/demo/src/main/java/examples/

...

  1. stackmachine/

...

  1. StackList.java: 詳細は、-Xlint:

...

  1. uncheckedオプションを指定して再コンパイルしてください。
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  

...

  1. 7.

...

  1. 326 s
    [INFO] Finished at: 

...

  1. 2023-08-

...

  1. 10T14:

...

  1. 09:

...

  1. 49+09:00
    [INFO] ------------------------------------------------------------------------


  2. 「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