JMockitCollection.sort(...)
で呼び出されるかどうかをテストしたい:
final List<Employee> employees = new ArrayList<>();
new Expectations() {
{
Collections.sort((List<Employee>) any);
result = employees;
}
};
assertThat(EmployeeRepository.getAllOrderedByName()).isSameAs(employees);
これは、テスト中のサンプル リポジトリの実装です。
public class EmployeeRepository {
private static List<Employee> employees = new ArrayList<>();
public static List<Employee> getAllOrderedByName() {
Collections.sort(employees);
return employees;
}
}
単体テストを実行すると、 で NullPointerException が発生しCollections.sort
ます。デバッガーがgetAllOrderedByName
メソッドのブレークポイントに到達しないため、それ自体をモックする際に問題があるようです。
any
JMockitを使用して静的メソッドをスタブするにはどうすればよいですか?