前回、VisualStudioCode(以下VSCode)でJava開発環境を作ってみたところ、
コード支援機能も使えるし、なによりも軽いので開発/研修環境に良さそうだ。と思い
今度はJunitテストの設定と動作確認をしてみます。
環境
- Windows10
- VisualStudioCode v1.60.2
- Extension Pack for Java v0.18.5導入済
JUnit 5テストをやろう
VSCodeでJUnitテストを実行するために必要な拡張機能「Test Runner for Java」は
Extension Pack for Javaに含まれているので、VSCodeに新たな拡張機能を追加する必要はありません。
JUnit4(v4.8.0+)、JUnit5(v5.1.0+)、TestNG(v6.8.0+)に対応していて、
JUnit3はサポート外かな?

Javaプロジェクト側には設定(クラスパス通せばOK)が必要ですが、
Test Runner for Javaの詳細に説明あるのでこの通りですね。
MavenとかGradleでプロジェクト作っていたら何も設定せずにJUnitテストできそうですね。
プレーンJavaプロジェクトを前回作ったので、
JUnit5とjunit-platform-console-standaloneのjarファイルを入手して
プロジェクトのClasspathに追加します。
JUnit5.jar :Maven Repository
junit-platform-console-standalone.jar:Search Maven


プロジェクトの設定は以上です。
途中にも書きましたが、MavenなんかでJUnitを含めたプロジェクト作っていたら
ここの設定も飛ばして、テストケース書けそうです。
テストケースを書いてテスト実行
Eclipseにはテストケース作成で雛形まで作ってくれますが、
VSCodeではJavaクラスの作成までしかないので、import文を追記する必要はあります。
importまで書けば、後はコード支援が使えるので大して困りませんが…
設定を正しく終えて、テストコードを書けばVSCodeのテストエクスプローラーに
テストケースが表示されます。

テストエクスプローラーで実行対象を選択して実行も可能。
コードエディタにもテストコードには△マークが追加されるので、
対象を選んで実行が可能。

テスト結果
テスト未実施の場合は何もマークが記述されていませんが、
実行してテスト成功/失敗の結果の収集が終わったら
テストエクスプローラーでテスト結果を見る事ができます。

VSCodeでJUnitテストをやってみました。
Extension Pack for Javaの拡張機能を追加してあれば、
JavaプロジェクトへClasspath通すだけでJUnitテストも実行できました。
2021年Java Technology Report ではVSCodeがIDEの中で27%のシェアにまで
伸びてきているというデータでした。
Javaに関する拡張機能が整備されてくればもっと伸びてくるのではないでしょうか?
コメント