LoginSignup
0
0

コマンドラインでTestNGを動かす[Windows 11]

Posted at

動機

  • mavenやant、EclipseやIntelij IDEAがない環境でもTestNGを使いたい。

環境

  • OS : Windows 11 Home
  • JDK
>java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Temurin)(build 25.382-b05, mixed mode)

手法

1. ライブラリのダウンロード

mvnrepositoryからダウンロードする。
必要なのは以下の2つ。

より新しいバージョンがあるが、JDK8をサポートしていない場合がある。
詳しくは調査していないがこのバージョンの組み合わせで動作した。
TestNGは多くのバージョンで脆弱性が報告されているので注意(CVE-2022-4065)。

2. 環境変数の設定

毎回引数に-cp [classpath]を記述しても良いが面倒なので設定する。
環境変数名はCLASSPATHを、値は上でダウンロードしたJARファイルを配備したディレクトを設定する。

例:C:\Users\{ユーザ名}\Java\classpath\*
classpath配下のファイルがすべてクラスパスに読み込まれる。

3. テストケース

非常に簡易なサンプルを用意。

SampleTest.java
import org.testng.annotations.Test;

public class SampleTest {

    @Test
    public final void fooTest() throws Exception {
        System.out.println("foo");
    }
    
}

4. テスト起動用xml

非常に簡易なサンプルを用意。
なお、最近のTestNGは1行目でhttpではなくhttpsを用いる。

testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
  
<suite name="Suite" verbose="1" >
  <test name="Test" >
    <classes>
       <class name="SampleTest" />
    </classes>
  </test>
</suite>

5. テスト実行

ここでディレクトリ構成を確認しておく。

-{任意のディレクトリ}
    - src
        - SampleTest.java
        - testng.xml

コマンドプロンプトで以下を実行。

# ソースのあるフォルダに移動
>cd {任意のディレクトリ}\src

# テストケースをコンパイル
>javac SampleTest.java

# テスト実行
>java -cp %CLASSPATH%;.\ org.testng.TestNG testng.xml
foo

===============================================
Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0