JUnit特有の設定の仕方があったりするかもしれませんが、JUnitに限らない、汎用のやり方であれば、プログラムでタイムゾーンを自力でUTCに変更してやれば、そのプログラムの実行中、すなわちJVMの実行中はデフォルトのタイムゾーンがそれになります。具体的にはjava.util.TimeZone.setDefault を使います。
実例として以下のサンプルプログラムを用意しました。
Java
1import java.sql.Timestamp;
2import java.util.TimeZone;
3
4public class Sample {
5 public static void main(String[] args) {
6
7 String[] ids = TimeZone.getAvailableIDs();
8 // "UTC"が含まれていること
9 assert(java.util.Arrays.asList(ids).contains("UTC"));
10
11 System.out.printf("Default TZ(ID): %s\n", TimeZone.getDefault().getID());
12
13 // 期待:2022/12/31 23:59:59
14 // 実際:2023/01/01 08:59:59
15 Timestamp ts = new Timestamp(1672531199000L);
16 System.out.println(ts);
17
18 // UTCのタイムゾーンを取得
19 TimeZone newTz = TimeZone.getTimeZone("UTC");
20 TimeZone.setDefault(null); // 念の為キャッシュをクリア
21 TimeZone.setDefault(newTz);
22 System.out.printf("Default TZ(ID): %s\n", TimeZone.getDefault().getID());
23 // UTCをデフォルトのタイムゾーンとして日時文字列を出力
24 System.out.println(ts);
25 }
26}
27
これをWindows10のコマンドプロンプト、Java実行環境で実行すると以下のような出力を得ます。UTCで日時文字列が出力されているのが分かります。
CMD
1C:\Java>javac -version
2javac 1.8.0_291
3
4C:\Java>javac Sample.java
5
6C:\Java>java Sample
7Default TZ(ID): Asia/Tokyo
82023-01-01 08:59:59.0
9Default TZ(ID): UTC
102022-12-31 23:59:59.0
あるいはJavaプログラム実行時にコマンドラインオプション-Duser.timezone
を指定し、JVMのシステムプロパティの値を変更することでもできます。JUnitの実行時に適切に設定できれば、これが利用できるかもしれません。
※参考
JREでのタイムゾーン設定 - Oracle