В настоящее время я использую JMockit 1.45 для модульного тестирования модуля, который подключается к кешу Geode. Используя Spring, различные регионы автоматически соединяются с помощью класса Region. Однако при попытке смоделировать класс Region в моих модульных тестах я либо получу ошибку "", если я использую @Injectable, поскольку класс Region расширяет ConcurrentMap, либо ошибку "Missing @Injectable for field ...", если я буду следовать заметки о выпуске и использование @ Tested.
// Region declaration in class
public class TrackData {
...
@Autowired
@Qualifier("Track")
private Region<Object, Object> trackRegion;
...
}
// Will give "Missing @Injectable" error
@Tested
private Region<Object, Object> mockRegion;
@Tested
private TrackData tested;
// Will give "java.util.Map is not mockable" error
@Tested
private TrackData tested;
@Injectable
private Region<Object, Object> mockRegion;
Есть ли способ издеваться над классом Region? Или я должен обновить версию JMockit, которую я использую? Боюсь, что обновление может привести к другим проблемам несовместимости для других моих классов. Спасибо.