Java のプログラムのテストを Groovy (spock) で書くのは昔からやっているのですが、テストデータを書き下す際の工夫をメモします。 テスト対象プログラム package example; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.List; public class FirstDate { /** * テスト対象メソッド。 * 与えられた日付のリストから一番過去のものを返す */ public static Date firstDate(List<Date> dates) { List<Date> copy = new ArrayList<>(dates); copy.sort(Comparator.<Date>natural