Невозможно смоделировать класс региона с помощью JMockit - PullRequest
0 голосов
/ 31 января 2020

В настоящее время я использую 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, которую я использую? Боюсь, что обновление может привести к другим проблемам несовместимости для других моих классов. Спасибо.

...